2011-11-26 40 views
10

Tôi đã đọc Code Complete 2. Vì tôi không phải là người nói tiếng Anh bản địa, một số câu nói cần một chút thời gian để tôi hiểu. Tôi muốn bạn để mô tả sự khác biệt giữa hai báo cáo tác giả thực hiện trong cuốn sách của ông:Ý nghĩa của chương trình sang ngôn ngữ và chương trình của bạn bằng ngôn ngữ của bạn

  1. Bạn nên chương trình vào Your Language (ngôn ngữ lập trình).
  2. Bạn không nên lập trình bằng Ngôn ngữ của mình.

Tại sao trong là xấu và vào được khuyến khích?

Trả lời

8

Chương trình thành ngôn ngữ của bạn có nghĩa là bạn sử dụng ngôn ngữ để tạo các phần "thiếu" - tận dụng nó để làm nhiều hơn hiện tại. Những thứ như tạo cấu trúc dữ liệu thiếu, thuật toán và cách hoàn thành các tác vụ không phải là ngôn ngữ gốc.

Chương trình trong ngôn ngữ của bạn có nghĩa là chỉ - không cố gắng tận dụng nó.

Tôi nghĩ rằng các ví dụ được đưa ra trong cuốn sách khá tốt.

10

Như tôi đã hiểu, nó có nghĩa là suy nghĩ bên ngoài giới hạn của ngôn ngữ lập trình của bạn.

Vì vậy, trong có nghĩa là bạn đang suy nghĩ về ngôn ngữ, vì vậy suy nghĩ của bạn bị giới hạn bởi ngôn ngữ và chương trình bạn viết có thể không được dịch dễ dàng sang một số ngôn ngữ khác nếu cần.

Nhưng thành có nghĩa là bạn nghĩ trong thuật toán, nghĩa là tự do, sau đó dịch sang ngôn ngữ mong muốn của bạn. Vì vậy, bạn có thể dễ dàng viết mã bằng bất kỳ ngôn ngữ nào mà bạn biết cú pháp của.

Nhưng vì tôi chưa đọc cuốn sách thực sự, điều này có thể hoàn toàn sai trong mỗi ngữ cảnh.

+0

Đây không phải là ý của Steve McConnell. Nó có nghĩa là những gì #Oded nói. – Cosmin

3

Tác giả cung cấp một ví dụ của riêng mình trong phần đó của cuốn sách (rất tiếc là tôi không nhớ). Bạn có thể thử đọc thêm một chút. Điều này có nghĩa là ngay cả khi ngôn ngữ không hỗ trợ một tính năng đặc biệt thuận tiện, vì bạn luôn phải viết mã có thể đọc được, dễ duy trì, mô-đun, bạn nên cố gắng tìm cách mô phỏng tính năng đó ngay cả khi nó không được thực thi bởi ngôn ngữ, khi đó bạn sẽ ghi lại điều đó, để các nhà phát triển khác có thể sửa đổi mã này thành cùng một quy tắc. Tôi không thể cung cấp một ví dụ ngay bây giờ, nhưng tôi nghĩ rằng rất dễ dàng để xem lý do.

Các vấn đề liên quan