Vâng, tôi hiểu sự thất vọng của bạn với quy tắc ngớ ngẩn. Tôi đã đọc rất nhiều chương trình với những bình luận vô ích như
x = x + 1; // add 1 to x
Và tôi tự nói với bản thân mình, vậy đó là một dấu cộng có nghĩa là gì !! Ồ, cảm ơn vì đã nói với tôi, tôi không biết điều đó.
Nhưng điều đó nói rằng, khách hàng đang thanh toán hóa đơn. Do đó, bạn cung cấp cho họ những gì họ muốn. Nếu tôi làm việc tại một đại lý xe hơi và một khách hàng nói rằng anh ta muốn một chiếc xe bán tải, tôi sẽ không tranh luận với anh ta về việc anh ta có thực sự cần một chiếc xe bán tải hay không và hỏi anh ta về những gì anh ta mong muốn trong đó. Tôi sẽ bán cho anh ấy một chiếc xe bán tải.
Được rồi, có những lúc khách hàng nói rằng anh ta muốn và những gì anh ta thực sự cần cách xa nhau đến mức tôi cố gắng thảo luận vấn đề với anh ta, có thể thuyết phục anh ta đồng ý với một điều gì đó hợp lý hơn. Đôi khi điều này hoạt động, đôi khi nó không. Cuối cùng, nếu tôi không thể thay đổi suy nghĩ của anh ấy, tôi sẽ cho anh ấy những gì anh ấy muốn. Nếu anh ấy quay lại sau và nói, Ồ, điều đó thực sự không thỏa mãn yêu cầu kinh doanh của tôi, thì chúng tôi có thể tính phí anh ấy nhiều hơn để làm những gì chúng tôi bảo anh ấy làm lần đầu tiên. Bạn có thể thương lượng với khách hàng bao nhiêu tùy thuộc vào mức độ họ tin tưởng vào chuyên môn của bạn, hợp đồng của họ với bạn phù hợp với tổ chức như thế nào, và thẳng thắn, họ là người đầu bò.
Đó sẽ là một trường hợp rất hiếm khi, giả sử điều đó tùy thuộc vào tôi, tôi sẽ mất một hợp đồng vì tôi nghĩ rằng các yêu cầu này không được thực hiện.
Hãy nhớ rằng những người mà công ty bạn đang đàm phán có thể hoặc không phải là người đã phát minh ra quy tắc 25% này. Nó có thể là một quy tắc áp đặt cho họ từ cao hơn.
Tôi thấy năm phản hồi có thể:
Một. Thuyết phục sếp của bạn hoặc bất cứ ai đang đàm phán với khách hàng để tranh luận về vấn đề này. Điều lạ lùng là điều này sẽ chẳng đạt được gì, nhưng bạn có thể thử.
Hai. Từ chối làm điều đó. Điều này có thể sẽ khiến bạn bị sa thải, hoặc nếu công ty đồng ý với bạn, khiến bạn mất hợp đồng. Điều này dường như không hiệu quả.
Số ba. Viết bình luận vô ích để lấp đầy không gian, loại bình luận chỉ lặp lại những gì trong mã và bất kỳ lập trình viên nào có khả năng sửa đổi mã có thể thấy trong 2 giây. Tôi đã thấy rất nhiều ý kiến như thế này. Cách đây nhiều năm, tôi đã làm việc cho một công ty nơi chúng tôi được yêu cầu đặt các khối nhận xét trước mọi chức năng liệt kê các tham số, như:
/*
GetFoo function
Parameters:
name: String, contains name
num: int, the number
add_date: date, the date added
Returns:
foo code: int
*/
int GetFoo(String name, int num, Date add_date)
Việc phản đối rằng những bình luận như vậy là một gánh nặng bảo trì vì bạn phải cập nhật chúng là không hợp lệ. Không cần phải cập nhật chúng vì sẽ không có lập trình viên nghiêm túc nào nhìn vào chúng. Nếu có bất kỳ câu hỏi nào về điều đó, hãy chắc chắn nói rõ với tất cả các thành viên của nhóm rằng những bình luận vô ích, dư thừa nên được bỏ qua. Nếu bạn muốn biết các tham số của hàm là gì hoặc dòng mã làm gì, hãy đọc mã, đừng nhìn vào các bình luận vô dụng.
Bốn. Nếu bạn sẽ thêm các bình luận vô giá trị dư thừa, có lẽ bạn nên dành thời gian để viết một chương trình để tạo ra chúng. Một cái gì đó của một khoản đầu tư lên phía trước, nhưng có thể tiết kiệm một loạt các gõ xuống đường.
Quay lại khi tôi mới bắt đầu kinh doanh, một công ty tôi đã làm việc đã sử dụng một chương trình được quảng cáo là "Viết tài liệu của bạn cho bạn! Hoàn thành tài liệu cho mọi chương trình!" Hệ thống yêu cầu chúng tôi cung cấp cho tất cả các biến về cơ bản các tên vô nghĩa và sau đó có một bảng đặt tên có ý nghĩa cho từng biến, vì vậy về cơ bản, "tài liệu tự động" đã làm thay thế tên vô nghĩa mà nó buộc chúng tôi sử dụng bằng một tên có ý nghĩa. Vì vậy, ví dụ - điều này đã làm việc với COBOL - bạn sẽ có một dòng trong chương trình của bạn cho biết
MOVE IA010 TO WS124
và họ sẽ tạo ra một dòng "tài liệu" cho biết
COPY CUSTOMER NAME IN INPUT RECORD TO CUSTOMER-NAME IN WORKING STORAGE
Dù sao, người ta chắc chắn có thể viết một chương trình để tạo tài liệu vô giá trị tương đối dễ dàng. Đọc một dòng như
a=b+c
và tạo bình luận
// add b to c and save result in a
Vân vân.
Số năm. Làm cho tốt nhất của quy tắc ngớ ngẩn. Cố gắng viết bình luận hữu ích và có ý nghĩa. Này, nó có thể là một bài tập tốt.
Ồ, nhân tiện, tôi có thể thêm rằng bạn luôn có thể chơi trò chơi số liệu.
Tôi nhớ lại một lần một nhà tuyển dụng nói rằng họ sẽ bắt đầu đo năng suất của các lập trình viên bằng cách chúng tôi tạo ra bao nhiêu dòng mã mỗi tuần. Khi chúng tôi được nói điều này tại một cuộc họp, tôi nói, Tuyệt! Tôi có thể dễ dàng tăng điểm của mình. Không viết nữa
x=x+4;
Thay vào đó tôi sẽ viết:
x=x+1;
x=x+1;
x=x+1;
x=x+1;
Vòng lặp? Quên đi, tôi sẽ sao chép và dán mã mười lần. Vân vân.
Vì vậy, ở đây, nếu họ sẽ đếm các dòng bình luận, hãy rút ngắn từng dòng và tiếp tục ý tưởng trên dòng tiếp theo. Nếu có sự thay đổi đối với những gì diễn ra trong các bình luận, đừng cập nhật bình luận hiện có. Đặt một ngày trên đó, sau đó sao chép toàn bộ văn bản và viết "Đã cập nhật" và một ngày mới. Nếu khách hàng đặt câu hỏi, hãy nói với họ rằng bạn nghĩ cần phải duy trì lịch sử. Vân vân.