Có rất nhiều cuộc trò chuyện liên quan đến thực tiễn tốt nhất 1 trong phát triển phần mềm. Tôi đã thấy ít nhất ba điểm chính nhận được nhiều cuộc thảo luận cả về SE và các nơi khác:
- Những gì đủ điều kiện là một thực hành tốt nhất, và tại sao?
- Có phải thực tiễn tốt nhất thậm chí đáng để thảo luận ở nơi đầu tiên, bởi vì thật hợp lý để khẳng định rằng không có thực hành nào là thực tiễn "tốt nhất"?
- Khi nào bạn nên từ bỏ một thực tiễn tốt nhất - hoặc có lẽ là hầu hết các thực tiễn tốt nhất - bởi vì nó dường như không thể áp dụng hoặc do các ràng buộc bên ngoài (thời gian, tiền bạc, v.v.) làm cho sự đánh đổi không thực tế?
Một cái gì đó dường như xuất hiện ít thường xuyên hơn, nhưng hơn bao giờ hết, là một khái niệm về lẽ thường trong phát triển phần mềm. Kinh nghiệm gần đây đã đưa khái niệm này trở lại trước tâm trí tôi một lần nữa.
Ấn tượng ban đầu của tôi là nó là một cuộc thảo luận khác với thực tiễn tốt nhất, nhưng có lẽ với một số sự thụ phấn chéo.
Khi tôi nghĩ về lẽ thường, tôi nghĩ về một bộ quy tắc mà bạn đã chọn hoặc được dạy để cung cấp cho bạn một cơ sở để suy luận và đưa ra quyết định. Theo ý nghĩa thông thường là một cách tốt để tránh bạn bắn toàn bộ chân của bạn. Nhưng vượt quá mức cơ bản khá thấp, lẽ thường sẽ nhường chỗ cho nhu cầu đưa ra quyết định có giáo dục, và quyết định có giáo dục thậm chí có thể ghi đè lên ý thức chung khi bằng chứng có vẻ đủ thuyết phục. Tôi có thể chơi hơi lỏng lẻo với định nghĩa ở đây, nhưng tôi nghĩ nó đủ gần để dẫn đầu ví dụ của tôi.
Khi tôi nghĩ về ý thức chung trong phát triển phần mềm, tôi nghĩ đến tất cả các quy tắc vệ sinh cơ bản để ngăn chặn một cơ sở mã hóa nhanh chóng phân rã thành một mớ hỗn độn khó hiểu. Ví dụ, những thứ như: không sử dụng một cấu trúc toàn cầu duy nhất để duy trì và giao tiếp trạng thái trong một chương trình không tầm thường; không sử dụng tên biến / phương thức / lớp chỉ là vô nghĩa ngẫu nhiên; những thứ có lẽ giống với những gì chúng ta đến để gọi chống mẫu khá chặt chẽ. Khi áp dụng thực tiễn tốt nhất tương tự thực tế vào mô hình học tập, áp dụng ý thức chung có thể được coi là tương tự thực tế của việc học chống mẫu.
Với suy nghĩ này, tôi muốn đặt ra một vài câu hỏi rằng xem câu trả lời của người khác có thể giúp tôi giải thích vấn đề này.
Những người khác có tin rằng có một khái niệm về ý thức chung trong phát triển phần mềm không? Sẽ được quan tâm biết lý do một trong hai cách.
Nếu vậy, nó có phải là một khái niệm đáng để thảo luận? Đó có phải là một cái gì đó chúng ta nên thúc đẩy nhiều như chúng ta đôi khi làm với các thực tiễn tốt nhất? Đó có phải là một cái gì đó đáng để đẩy cho khó khăn hơn?
Nếu sự tương tự với các mẫu chống có vẻ hợp lý, thì quy tắc chung là các mẫu chống chỉ được sử dụng nếu không có cách nào khác, và thậm chí sau đó chỉ trong những trường hợp rất hạn chế. Làm thế nào linh hoạt một người nên được cho phép một codebase đi chệch khỏi ý nghĩa thông thường? Có vẻ như không hợp lý khi câu trả lời là "hoàn toàn không", bởi vì đôi khi sự cần thiết đòi hỏi sự sai lệch. Nhưng, nó có vẻ như là một loại lập luận khác với khi sử dụng một "thực tiễn tốt nhất". Có lẽ không phải vậy; nếu bạn không nghĩ vậy, tôi muốn tìm hiểu lý do tại sao.
Đây là kết thúc mở nhiều hơn và có thể xứng đáng với một câu hỏi tiếp theo của riêng mình, những loại khuyến nghị nào bạn sẽ chỉ ra rằng dường như đó là vấn đề của lẽ thường?
Những suy nghĩ khác cũng được chào đón.
1 Có lẽ tôi sẽ gọi chúng là "các mẫu miền thường xuyên lặp lại", nhưng tên "thực tiễn tốt nhất" đủ phổ biến để mọi người biết chúng là gì, ngay cả khi chúng không đồng ý rằng chúng là. Nếu phần "tốt nhất" làm phiền bạn, chỉ cần tưởng tượng tôi đã thay thế "thực hành tốt nhất" bằng một âm thanh ít thẩm quyền hơn.