Làm thế nào để phân biệt giữa phần mềm tầm thường và không tầm thường? [đóng cửa]


11

Vì vậy, những gì thực sự làm cho một chương trình tầm thường?

'Trừ khi phần mềm tầm thường của nó' được sử dụng thường xuyên trong các cuộc thảo luận lập trình. Tôi thấy nó rất mơ hồ theo nghĩa là tôi thực sự không thể hình dung được "cái gì đó là thiết yếu bởi vì phần mềm không tầm thường" hay "phần mềm không tầm thường của nó bởi vì thứ gì đó đã trở nên rất thiết yếu".

Ví dụ, rất nhiều lần về câu hỏi kiểm tra đơn vị, tôi nghe thấy 'trừ khi nó không quan trọng, bạn sẽ cần phải kiểm tra đơn vị'.


9
Đánh giá bởi một số lập trình viên mà tôi đã làm việc cùng, tôi nói rằng đối với họ, sự khác biệt bắt nguồn từ "mã của bạn là tầm thường; mã của tôi thì không".
PSU

Bạn có thể cung cấp một cuộc thảo luận lập trình mà bạn thấy trích dẫn này được sử dụng? Dường như có những cách hiểu khác nhau trong các câu trả lời.
Steven Jeuris

Kiểm tra câu hỏi cập nhật.
NVM

Câu trả lời:


12

Tôi sẽ đi ra ngoài trên một chi ở đây và nói:

Một chương trình tầm thường là một chương trình không ảnh hưởng trực tiếp đến doanh nghiệp.

Một công ty sản xuất sẽ coi phần mềm kế toán của mình là tầm thường, nhưng phần mềm điều khiển cánh tay robot di chuyển thép sôi là rất quan trọng. Họ có thể đối phó với các lỗi và quay vòng hỗ trợ thấp ở trước, nhưng không phải là sau. Nếu có một vấn đề, họ cần sửa nó ngay bây giờ .


Mặc dù, một câu trả lời khác có nhiều điểm hơn, tôi thích câu trả lời này nhất. Tôi đã đặt câu hỏi bởi vì tôi không hoàn toàn chắc chắn liệu công việc tôi đang làm có tầm thường hay không và đây là một cách chắc chắn để nhận ra liệu nó có bị coi là tầm thường bởi 'doanh nghiệp' hay không. Dành cho người cũ phần mềm tầm thường có thể thoát khỏi mà không cần kiểm thử đơn vị và nó không thực sự phụ thuộc vào dòng mã hoặc độ phức tạp. Tất cả vấn đề là liệu nó có quan trọng cho doanh nghiệp hay không.
NVM

+1, Điểm tốt. Các Overlords công ty đôi khi có những ý tưởng rất khác nhau về những gì được coi là "tầm thường". Tôi đã thêm một vài câu trả lời của mình để phản ánh điều này.
Thất vọngWithFormsDesigner

+1 - Tôi nghĩ câu trả lời này mô tả đúng nhất ngữ cảnh của thuật ngữ này khi nó được áp dụng trong câu hỏi. "Câu trả lời điểm cao hơn" khác là chính xác, nhưng chỉ trong một bối cảnh chung. Tôi chắc chắn rằng điều này sẽ vượt qua nó trong số phiếu bầu như được xem xét.
Joel Etherton

2
Khi các nhà phát triển phần mềm nói tầm thường, họ thường đề cập đến sự phức tạp của phần mềm, chứ không phải tác động kinh doanh. Một tập lệnh sao chép một số tệp từ A sang B sẽ không quan trọng, nhưng vẫn có thể ảnh hưởng trực tiếp đến doanh nghiệp nếu nó không hoạt động.
JacquesB

16

Tôi tin rằng mục đích phổ biến nhất của tuyên bố đó sẽ là một chương trình có các đặc điểm sau:

  • Nó nhỏ.
  • Thời gian sống ngắn.
  • Không cần gia hạn thêm.
  • Chỉ có một nhà phát triển.

2
+1, tất cả những điều này rất quan trọng. Thật không may, trong một thế giới với những yêu cầu luôn thay đổi, đôi khi bạn sẽ phải mở rộng phần mềm "tầm thường" ngoài vòng đời tự nhiên của nó.
l0b0

1
Nhỏ về LỘC, nhỏ về kích thước nhị phân biên dịch, nhỏ về thời gian thực hiện để phát triển nó? Ngoài ra, tôi cho rằng cuộc đời ngắn ngủi không ngụ ý tầm thường và tầm thường không ngụ ý cuộc đời ngắn ngủi. Tôi đã thấy các trường hợp phần mềm có thời gian nâng chỉ 6 tháng được phát triển ít nhất gấp đôi và là một hệ thống cầu nối quan trọng. Tôi đã thấy các hệ thống chuyển đổi dữ liệu được sử dụng chính xác một lần, nhưng đã được phát triển trong hơn một năm và khác xa với tầm thường. Và những progam tầm thường như Minesweeper dường như có tuổi thọ rất dài.
Thất vọngWithFormsDesigner

@FrustratedWithFormsDesigner: nhỏ như trong, một cửa sổ 100x100px. ; p Ý tôi là, nhỏ như trong các dòng mã phải được viết, tỷ lệ thuận với thời gian thực hiện để phát triển nó. Tuổi thọ không cần thiết, bạn đúng, nhưng thường là một đặc điểm khi thảo luận về cách tiếp cận nâng cao hơn so với cách tiếp cận đơn giản.
Steven Jeuris

Tôi sẽ không đồng ý rằng LỘC thấp luôn hàm ý tầm thường. Đôi khi, phần phức tạp nhất của một chương trình, phần khó nhất để hiểu đúng, các thuật toán khó nhất, phù hợp với <20 Dòng mã. Và một chương trình chủ yếu là hàng trăm dòng getters / setters được tạo tự động - đó có phải là không tầm thường mặc dù nó thậm chí không cần một nhà phát triển để tạo ra nó?
Thất vọngWithFormsDesigner

1
@FrustratedWithFormsDesigner: Tôi tin rằng bạn có cách giải thích khác nhau cho câu hỏi so với tôi. Câu trả lời của tôi liên quan đến thực tế quyết định một giải pháp tầm thường so với một giải pháp phức tạp. Câu trả lời của bạn liên quan đến các vấn đề 'khó' và 'dễ' để giải quyết. Có lẽ câu hỏi của OP nên được làm rõ một chút.
Steven Jeuris

14

Bằng cách ném nó đi hoàn toàn, nhị phân và nguồn. Nếu ai đó thông báo, nó không tầm thường.


6
+1 Điều đó làm tôi cười và nó cũng có ý nghĩa.
NVM

8

Tầm thường là ...

  • một cái gì đó đã tồn tại, vậy tại sao lại phát minh lại bánh xe?
  • một cái gì đó có thể dễ dàng được xây dựng bằng cách viết kịch bản một vài chương trình khác với nhau hoặc viết một đoạn mã nhỏ sử dụng nhiều thư viện hiện có để làm những gì cần phải làm.
  • một cái gì đó mà một sinh viên CS trung bình có thể làm bài tập về nhà từ nhỏ đến trung bình.
  • một cái gì đó có yêu cầu chi tiết có thể dễ dàng phù hợp với một chiếc khăn ăn cocktail.
  • một cái gì đó bạn có thể mã hóa trong khi mất tập trung / say rượu / trong thời gian rảnh rỗi của 4 hoặc 5 phút chunk.
  • một cái gì đó có thể được tạo ra với một công cụ tạo mã đơn giản.

Trong môi trường doanh nghiệp, tôi sẽ thêm những điều sau:

  • một cái gì đó mà người dùng doanh nghiệp không ngại chờ đợi một thời gian để sửa chữa.
  • một cái gì đó được sử dụng trong nội bộ mà không có hỗ trợ chính thức từ CNTT.
  • một cái gì đó được ưu tiên trong số các ưu tiên thấp nhất của Doanh nghiệp, khi lập kế hoạch và lập kế hoạch tài nguyên.

4

Tôi sẽ định nghĩa một chương trình tầm thường là một chương trình có thể được mã hóa hợp lý:

  • Trong một lần ngồi.
  • Là một tệp / mô-đun duy nhất (giả sử bạn không lập trình bằng Java hoặc một số ngôn ngữ buộc chia tách các mô-đun siêu mịn).
  • Bởi bất kỳ lập trình viên "chuyên nghiệp" nào, hơn là một chuyên gia.

3

Dưới đây là ví dụ của tôi về các chương trình "tầm thường":

  1. Một dự án "giả" mà tôi thiết lập và bắt đầu viết mã chỉ để tôi có thể thử một phần công nghệ hoặc mã mẫu. Không có ý định được triển khai hoặc thậm chí hiển thị cho bất cứ ai.
  2. Mã demo được viết cho các bài thuyết trình kỹ thuật.
  3. Một lần". Ý tôi là một ứng dụng nhanh mà tôi phải xây dựng để sử dụng một lần, bởi vì đó là một tình huống kỳ lạ của dữ liệu phải được di chuyển theo một cách nhất định, hoặc một cái gì đó sẽ được thay thế ngay lập tức bằng một thứ gì đó lâu dài hơn.

3

Phần mềm trival không tồn tại, đó là khi bạn nghe thấy các yêu cầu và thứ sẽ là trival khi trong thực tế, nó luôn không phải là trival

Đây là một trích dẫn tôi đã thấy trên Usenet một thập kỷ trước, bây giờ nó thậm chí còn phù hợp hơn.

Độ phức tạp của Giải pháp phần mềm tỷ lệ nghịch với độ phức tạp của giải thích về những gì nó nên làm. - Không biết


-1

Một chương trình chỉ là một loạt các phương thức getter / setter. Không có logic lập trình. Có lẽ một cái gì đó với một vài vòng lặp.

Đó là định nghĩa của tôi về tầm thường.


-1

Định nghĩa làm việc của chúng tôi là "một cái gì đó không phụ thuộc vào."

Thật không may, đã có một vài nguyên mẫu tầm thường đã trở thành sản phẩm sản xuất không tầm thường.


-3

Tôi cũng đã nghe nó được sử dụng trong bối cảnh tác động của chương trình lên kế hoạch tổng thể của dự án. Nếu một đặc điểm kỹ thuật nhất định không thay đổi dòng thời gian phân phối sản phẩm, nó sẽ thuộc nhãn hiệu tầm thường.

Tôi biết một lập trình viên có xu hướng sử dụng "tầm thường" như một từ đồng nghĩa với "Thậm chí không đáng để thảo luận".

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.