Có nhiều tiêu chuẩn mã hóa khác nhau được thi hành tại các công ty phần mềm với mục tiêu tăng độ tin cậy mã, tính di động và quan trọng nhất là khả năng đọc mã được viết bởi các nhà phát triển khác nhau.
Hai ví dụ đáng chú ý là MISRA C và tiêu chuẩn C ++ được phát triển cho dự án JSF .
Chúng thường ở dạng sau, sau khi chỉ định cẩn thận những từ "phải", "sẽ", "nên", "có thể", v.v. có nghĩa là:
Thí dụ:
Quy tắc 50: Các biến số dấu phẩy động sẽ không được kiểm tra về đẳng thức hoặc bất đẳng thức chính xác.
Đặt vấn đề: Vì số dấu phẩy động có thể bị lỗi làm tròn và cắt ngắn, nên có thể đạt được sự bằng nhau chính xác, ngay cả khi dự kiến.
Các tiêu chuẩn mã hóa này đặt ra các hạn chế, thường là về mã sẽ hợp pháp theo quan điểm của người biên soạn, nhưng nó nguy hiểm hoặc không thể đọc được, và do đó "được coi là có hại".
Bây giờ hãy lạm dụng điều này!
Bạn được chấp nhận là thành viên của một ủy ban tiêu chuẩn hóa nhỏ tại công ty của bạn, dự định thiết kế các tiêu chuẩn mã hóa mới mà mọi nhà phát triển tại công ty sẽ được yêu cầu sử dụng. Không biết đến những người khác, bạn đang bí mật thuê nhân viên của một tổ chức độc ác và có nhiệm vụ phá hoại công ty. Bạn phải đề xuất một hoặc nhiều mục nhập cho tiêu chuẩn mã hóa mà sau này sẽ cản trở các nhà phát triển. Tuy nhiên, bạn phải cẩn thận để không làm cho điều này rõ ràng ngay lập tức, nếu không bạn có nguy cơ nó không được chấp nhận vào tiêu chuẩn.
Nói cách khác, bạn phải đưa ra các quy tắc cho tiêu chuẩn mã hóa có vẻ hợp pháp và có cơ hội tốt để được các thành viên khác của ủy ban chấp nhận. Sau khi các dự án được bắt đầu và vô số giờ làm việc được đầu tư vào mã, bạn sẽ có thể lạm dụng các quy tắc này (ví dụ: bằng kỹ thuật hoặc rấtgiải nghĩa theo nghĩa đen) để đánh dấu mã khác bình thường và chất lượng tốt là trái với tiêu chuẩn. Vì vậy, họ phải nỗ lực rất nhiều để thiết kế lại nó và các quy tắc sẽ cản trở họ từ thời điểm này, nhưng vì các quy tắc đã hoạt động trong một thời gian khá lâu, động lực thuần túy sẽ giữ cho các vai trò này tồn tại và vì có những xung đột đáng kể về lợi ích giữa các cấp quản lý khác nhau, các nhà quản lý khác có thể sẽ giữ nguyên tắc sống (họ sẽ thật ngu ngốc khi thừa nhận sai lầm của mình!), do đó gây trở ngại cho công ty! Mwahahahahaaa!
Chấm điểm
Câu trả lời được bình chọn cao nhất sau khoảng 2 tuần kể từ lần nhập đầu tiên hợp lệ. Tôi có một ý tưởng cho một câu trả lời hay, nhưng tôi sẽ chỉ đăng nó vài ngày sau đó, vì người khác có thể có cùng ý tưởng, và tôi không muốn cướp chúng khỏi niềm vui. Tất nhiên, câu trả lời của riêng tôi sẽ không được chấp nhận trên bất kỳ câu hỏi nào khác, bất kể điểm số.
Các cử tri được khuyến khích chấm điểm các câu trả lời dựa trên mức độ sơ hở được ẩn giấu và mức độ bực bội đối với các nhà phát triển.
Các quy tắc và quy định
- Các quy tắc hoặc quy tắc phải được viết chuyên nghiệp, như trong ví dụ trên
- Các quy tắc phải trông thật (vì vậy những thứ như "tất cả các biến phải chứa ít nhất một dấu gạch dưới, một chữ in hoa, một chữ in thường và hai số" không được chấp nhận. Chúng thực sự sẽ cản trở các nhà phát triển, nhưng rất có thể sẽ không được chấp nhận bởi ủy ban) và nếu công đức của họ không rõ ràng ngay lập tức, bạn nên đưa ra một lý do tốt.
- Bạn sẽ có thể tìm cách sử dụng / lạm dụng các quy tắc của mình để phá hoại các nhà phát triển sau này. Bạn có thể lạm dụng bất kỳ sự mơ hồ nào trong các quy tắc khác hoặc bạn có thể sử dụng nhiều quy tắc vô hại cho riêng mình, nhưng bệnh tiểu đường một khi được kết hợp!
- Bạn nên đăng một lời giải thích trong các thẻ spoiler ở cuối bài viết của bạn về cách bạn có thể lạm dụng các quy tắc
- Ngôn ngữ được sử dụng không được là ngôn ngữ bí truyền. Một ngôn ngữ được sử dụng rộng rãi trong các dự án thực tế phải được chọn, vì vậy các ngôn ngữ có cú pháp giống C (thay vì những thứ như Golfscript) được ưu tiên.