Phải làm gì khi bạn buộc phải viết mã theo tiêu chuẩn (thiết kế) mã hóa xấu


9

Đây không phải là về các quy ước đặt tên điển hình, nơi đặt bình luận của bạn, chúng ta nên sử dụng các vùng, v.v ... Đây là về một tiêu chuẩn mã hóa thảo luận cụ thể về cách lập trình viên nên thiết kế các ứng dụng của mình.

Những thứ như: (trên một ứng dụng .NET và không có từ chính xác)

  • Làm càng ít lớp càng tốt
  • Các lớp học nên làm nhiều như các đối tác trong thế giới thực của họ có thể
  • Sửa đổi là tốt hơn so với mở rộng
  • Một DLL cho mỗi danh mục (Một thư viện cho các chức năng email, một thư viện cho các chức năng liên quan đến Tệp)

Mọi người đều có kinh nghiệm với mã xấu và có thể là thiết kế xấu, nhưng điều gì sẽ xảy ra nếu bạn được đưa vào một nhóm (không phải là một lựa chọn) khi họ có các tiêu chuẩn thiết kế mà không cảm thấy đúng. Tôi không chắc làm thế nào để trả lời một cách chuyên nghiệp khi tôi cảm thấy như mình đang chết bên trong mỗi khi tôi được yêu cầu viết mã theo cách này.


Tôi thậm chí không quan tâm rằng điều này là cũ như địa ngục, tôi đã phải nói rằng: Đọc danh sách đó gần như đã cho tôi một cuộc tấn công lo lắng.
Bassinator

Câu trả lời:


14

Tôi không biết ai đã nói điều này ban đầu, nhưng khi gặp phải một tình huống mà bạn không thích, chỉ có ba lựa chọn:

  1. Thay đổi nó.

  2. Chấp nhận nó.

  3. Để lại nó.

Bạn có đủ năng lượng và tầm ảnh hưởng trong công ty để thực hiện nỗ lực của voi ma mút để thử lựa chọn đầu tiên không? Bạn có muốn viết mã tốt hơn bằng cách lén lút và có nguy cơ bị sa thải?

Bạn có thể chấp nhận tình huống và viết mã theo các "tiêu chuẩn" đó không? Lời khuyên của tôi, đừng làm điều này trừ khi bạn thực sự cần tiền lương. Nó sẽ từ từ sứt mẻ tinh thần của bạn.

Lựa chọn nào để lại tùy chọn 3. Ngay cả khi bạn cần chấp nhận tình huống này trong thời gian ngắn, bạn nên bắt đầu tìm kiếm một công việc khác ở nơi khác.

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.