Vào năm 1987, tôi đã nhận một công việc với một công ty thuê tôi vì tôi là một trong số ít người biết sử dụng Khải Huyền. Mặc khải, nếu bạn chưa bao giờ nghe về nó, về cơ bản là một triển khai hệ điều hành Pick dựa trên PC - mà nếu bạn chưa bao giờ nghe về nó, có tên từ nhà phát minh của nó, Dick Pick có tên tuyệt vời. Nhiều điều có thể nói về Pick OS, hầu hết đều tốt. Một số nhà cung cấp siêu thị (ít nhất là Prime và MIPS) đã sử dụng Pick hoặc triển khai tùy chỉnh riêng của họ về nó.
Công ty này là một cửa hàng Prime và vì các hệ thống nội bộ của họ, họ đã sử dụng Thông tin. (Không, đó thực sự là tên của nó: đó là triển khai Pick của Prime.) Họ đã ký hợp đồng với nhà nước để xây dựng một hệ thống dựa trên PC, và đã dành khoảng một năm cho dự án Khải Huyền của mình trước khi anh chàng làm tất cả công việc, người cũng là giám đốc MIS của họ, quyết định anh ta không thể làm cả hai công việc nữa và thuê tôi.
Bằng mọi giá, anh ta đã thiết lập một số tiêu chuẩn mã hóa cho phần mềm dựa trên Prime của họ, nhiều trong số đó xuất phát từ hai điều kiện cơ bản: 1) việc sử dụng các thiết bị đầu cuối câm 80 cột và 2) thực tế là vì Prime đã không ' Tôi có một biên tập viên trực quan, anh ấy tự viết. Vì tính di động kỳ diệu của mã Pick, anh ta đã đưa trình soạn thảo của mình xuống Khải Huyền và đã xây dựng toàn bộ dự án trên PC bằng cách sử dụng nó.
Khải, tất nhiên, dựa trên PC, có trình chỉnh sửa toàn màn hình hoàn toàn tốt và không phản đối khi bạn đi qua cột 80. Tuy nhiên, trong vài tháng đầu tiên tôi ở đó, anh ấy đã nhấn mạnh rằng tôi sử dụng trình soạn thảo của anh ấy và tiêu chuẩn của mình.
Vì vậy, tiêu chuẩn đầu tiên là mọi dòng mã phải được bình luận. Mỗi dòng. Không có ngoại lệ. Lý do của ông cho điều đó là ngay cả khi bình luận của bạn nói chính xác những gì bạn vừa viết trong mã, phải bình luận nó có nghĩa là bạn ít nhất đã nghĩ về dòng này hai lần. Ngoài ra, như anh ta vui vẻ chỉ ra, anh ta đã thêm một lệnh vào trình soạn thảo định dạng từng dòng mã để bạn có thể đưa ra nhận xét cuối dòng.
Ồ, vâng. Khi bạn nhận xét mọi dòng mã, đó là với các nhận xét cuối dòng . Nói tóm lại, 64 ký tự đầu tiên của mỗi dòng là mã, sau đó có dấu chấm phẩy và sau đó bạn có 15 ký tự để mô tả 64 ký tự của bạn đã làm gì. Nói tóm lại, chúng tôi đã sử dụng một quy ước ngôn ngữ lắp ráp để định dạng mã Pick / Basic. Điều này dẫn đến những thứ trông như thế này:
EVENT.LIST[DATE.INDEX][-1] = _ ;ADD THE MOST RECENT EVENT
EVENTS[LEN(EVENTS)] ;TO THE END OF EVENT LIST
(Trên thực tế, sau 20 năm cuối cùng tôi đã quên cú pháp tiếp tục dòng của R / Basic, vì vậy nó có thể trông khác. Nhưng bạn hiểu ý.)
Ngoài ra, bất cứ khi nào bạn phải chèn bình luận đa dòng, quy tắc là bạn sử dụng hộp hoa:
************************************************************************
** IN CASE YOU NEVER HEARD OF ONE, OR COULDN'T GUESS FROM ITS NAME, **
** THIS IS A FLOWER BOX. **
************************************************************************
Có, những dấu sao đóng trên mỗi dòng được yêu cầu. Rốt cuộc, nếu bạn sử dụng trình soạn thảo của anh ta, đó chỉ là một lệnh biên tập đơn giản để chèn một hộp hoa.
Khiến anh ấy yên tâm và để tôi sử dụng trình soạn thảo tích hợp của Khải là một trận chiến. Lúc đầu, anh ta khăng khăng, đơn giản vì đó là những quy tắc. Khi tôi phản đối rằng a) Tôi đã biết trình soạn thảo Khải Huyền b) nó thực sự có nhiều chức năng hơn trình soạn thảo của anh ta, c) các nhà phát triển Khải Huyền khác sẽ có cùng quan điểm, anh ta đã vặn lại rằng nếu tôi không đào tạo về trình soạn thảo của anh ta thì tôi sẽ không đã từng có thể làm việc trên cơ sở mã hóa Prime, điều mà cả hai chúng ta đều biết, sẽ không xảy ra chừng nào địa ngục vẫn chưa kết thúc. Cuối cùng anh cũng chịu thua.
Nhưng các tiêu chuẩn mã hóa là cuối cùng để đi. Các bình luận hộp hoa nói riêng là một sự lãng phí thời gian ngu ngốc, và anh ấy đã chiến đấu với tôi bằng răng và nói với họ, nói rằng nếu tôi chỉ sử dụng đúng trình soạn thảo thì việc duy trì chúng sẽ hoàn toàn dễ dàng. (Toàn bộ mọi thứ trở nên khá thụ động, tích cực.) Cuối cùng tôi lặng lẽ nhượng bộ, và từ đó, tất cả các mã tôi mang đến để đánh giá mã đều có những bình luận hộp hoa quý giá của anh ấy.
Một ngày, vài tháng làm việc, khi tôi chứng tỏ bản thân mình có năng lực hơn nhiều (đặc biệt là so với cuộc diễu hành đáng chú ý của các lập trình viên khác đi qua văn phòng đó khi tôi làm việc ở đó), anh ấy nhìn qua vai tôi khi tôi đã làm việc và anh ấy nhận thấy tôi không sử dụng bình luận hộp hoa. Ồ, tôi đã nói, tôi đã viết một trình định dạng mã nguồn chuyển đổi nhận xét của tôi thành phong cách của bạn khi tôi in chúng ra. Nó dễ hơn là duy trì chúng trong trình chỉnh sửa. Anh mở miệng, suy nghĩ một lúc, đóng nó lại, bỏ đi và chúng tôi không bao giờ nói về các tiêu chuẩn mã hóa nữa. Cả hai công việc của chúng tôi trở nên dễ dàng hơn sau đó.