Các điểm chính của Mã hoàn thành là gì? [đóng cửa]


72

Tôi đã nghe rất nhiều người đề cập đến Code Complete là một cuốn sách đáng đọc. Thật không may, tôi bận đến nỗi tôi không có thời gian để đọc nó, vậy ai có thể cho tôi biết những điểm chính của cuốn sách là gì không?


49
Điểm mấu chốt của trang 824 của Code Complete 2 là bạn thực sự nên đọc sách lập trình!
azheglov

@azheglov: Đây là 2 như trong phiên bản 2 hay 2 như trong Code Complete 2 nên được đọc sau khi Code Complete?
Chris

@Chris, gần 4 năm sau: là 2 như phiên bản 2, được sửa đổi và cập nhật. Và tôi hy vọng bạn đã đọc nó trong thời gian này :-)
streppel

Câu trả lời:


83

Code Complete là về sự khéo léo của phần mềm; nó là một cuốn sách dành cho người mới bắt đầu / trình độ trung cấp, được viết cho lập trình viên đang làm việc, nhưng nó vẫn rất hữu ích cho những người đã lập trình ít nhất một năm.

Do đó, các điểm chính của Hoàn thành mã (tái bản lần 2) được tóm tắt độc đáo trong Chương 34, Chủ đề về Kỹ thuật thủ công phần mềm. Như được diễn giải từ ghi chú của tôi:

  1. Conquer Complexity : giảm tải nhận thức trong tâm trí của bạn thông qua kỷ luật, quy ước và trừu tượng.
  2. Chọn quy trình của bạn : có ý thức về chất lượng từ đầu (yêu cầu) đến kết thúc (triển khai) và hơn thế nữa (bảo trì).
  3. Viết chương trình cho mọi người trước tiên, Máy tính Thứ hai : khả năng đọc mã cực kỳ quan trọng đối với tính dễ hiểu, khả năng xem xét, tỷ lệ lỗi, sửa lỗi, sửa đổi và thời gian và chất lượng phát triển.
  4. Chương trình thành ngôn ngữ của bạn, không phải trong đó : nghĩ về cái gì? và tại sao? trước thế nào?
  5. Tập trung sự chú ý của bạn với sự trợ giúp của các quy ước : các quy ước quản lý sự phức tạp bằng cách cung cấp cấu trúc khi cần thiết, để tài nguyên cuối cùng - sự chú ý của bạn - có thể được sử dụng một cách hiệu quả.
  6. Chương trình trong Điều khoản của miền vấn đề : làm việc ở mức độ trừu tượng cao nhất có thể; mã cấp cao nhất sẽ mô tả vấn đề đang được giải quyết. Phân biệt cấp độ hệ điều hành, cấp độ ngôn ngữ lập trình, cấu trúc triển khai cấp độ thấp, thuật ngữ miền vấn đề cấp độ thấp và cuối cùng là các thuật ngữ miền vấn đề cấp độ cao có ý nghĩa hoàn toàn đối với người dùng (không phải là người viết mã).
  7. Theo dõi Falling Rocks : khi lập trình kết hợp nghệ thuật và khoa học, phán đoán tốt là rất quan trọng, bao gồm cả các dấu hiệu cảnh báo.
  8. Lặp đi lặp lại, lặp đi lặp lại, lặp đi lặp lại: lặp lại yêu cầu, thiết kế, ước tính, mã, điều chỉnh mã.
  9. Bạn sẽ kết xuất phần mềm và tôn giáo Asunder : chiết trung và sẵn sàng thử nghiệm. Đừng là một người nhiệt tình không linh hoạt, nó ngăn cản sự tò mò và học hỏi. Vượt ra ngoài việc chỉ có một cái búa trong hộp công cụ của bạn.

Nhưng những bước đi quan trọng nhất là trong Chương 33, Tính cách cá nhân : một khi bạn có ý thức tìm cách cải thiện như một lập trình viên, bạn có thể và sẽ. Cách nhanh nhất để làm như vậy là tiếp nhận thái độ của các lập trình viên bậc thầy (khiêm tốn, tò mò, trung thực trí tuệ, kỷ luật, sáng tạo), đồng thời thực hành thói quen của họ (nhiều thói quen tốt được liệt kê trong sách, ví dụ: chọn biến / giá trị tốt tên).

Ngoài ra, cuốn sách làm rõ rằng khoảng cách giữa trung bình và xuất sắc trong phần mềm là rất lớn ; thực tế đó một mình nên thúc đẩy các lập trình viên có lương tâm để bản thân tốt hơn.

Đó là sự thiếu sót của nó; phiên bản dài có trong sách. :) Tôi cũng có thể gửi cho bạn các ghi chú không quá dài, không quá ngắn nếu bạn muốn biết thêm chi tiết. Nhưng cuốn sách chắc chắn là tiền và thời gian chi tiêu tốt, ngay cả khi phong cách viết đôi khi mệt mỏi.

Ngoài mã hoàn thành, tôi rất khuyến nghị Lập trình viên thực dụng . Nó dành cho các lập trình viên trình độ trung cấp, được viết độc đáo và kết hợp tuyệt vời các lời khuyên cấp cao, trung bình và cấp thấp.


Bạn có chắc đây là một cuốn sách cấp trung cấp? Có vẻ như khá cơ bản, với lời khuyên như "nhớ xóa tên biến không sử dụng" - rất phù hợp với ai đó trong năm thứ nhất hoặc năm thứ hai đại học, nhưng không phải (IMO) ở trình độ trung cấp.
Colen

1
@Colen: cảm ơn vì nhận xét của bạn, tôi đã chỉ định nó cho các lập trình viên mới bắt đầu / trung cấp.
limist

10
@Colen: Mặc dù Code Complete liên quan đến một số chủ đề đơn giản được trộn lẫn với những chủ đề phức tạp, nhưng nó chắc chắn không dành cho người mới bắt đầu. Khá nhiều nhà phát triển ở mọi cấp độ đều có thể hưởng lợi từ việc đọc nó; bạn sẽ ngạc nhiên khi một số nhà phát triển "cao cấp" thực sự biết về những điều cơ bản, đặc biệt là nếu họ chỉ được lập trình bằng một ngôn ngữ hoặc làm việc cho một công ty trong toàn bộ sự nghiệp của họ.
Steve Hill

1
Mã IMO hoàn tất là không cần thiết dài dòng - vì vậy người mua hãy cẩn thận!
BKSpurgeon

Đây là một bản tóm tắt tốt về các chủ đề trong cuốn sách. Bạn có thể vui lòng chia sẻ các ghi chú không quá dài, không quá ngắn của bạn?
Akshay Khot

18

Đó là một cuốn sách trung gian, một nhóm thực hành tốt nhất về phát triển phần mềm.

Nếu bạn là một lập trình viên mới bắt đầu, bạn sẽ không hiểu nhiều tài liệu và nếu bạn có kinh nghiệm, cuốn sách sẽ chỉ xác nhận những gì bạn đã biết. Do đó, cuốn sách có thể có giá trị nhất đối với các lập trình viên trung cấp, những người đã có một chút kiến ​​thức lập trình, nhưng cần một cuốn sách thực hành tốt nhất để gắn kết tất cả lại với nhau.

Một số trang được dành cho cách định dạng các khối mã và giá trị tương đối của từng phương pháp. Cá nhân, tôi nghĩ rằng cuộc tranh luận lớn về nơi đặt niềng răng xoăn của bạn đã kết thúc. (hoặc là nó?)


4
Cha mẹ của bạn kiếm được cho bạn một upvote. : p
Nathan Taylor

Nên đặt niềng răng ở đâu?
Petah
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.