1 / 28

Programming Convention

Programming Convention. Presenter : Nguyễn Bảo Trung. Nội dung. Tổng quan về Programming Convention Một số phong cách lập trình cũ Đánh giá các thói quen cũ Các quy tắc viết code của Steve McConnell Lợi ích của việc trình bầy cẩn thận. Tổng quan về Programming Convention (PC).

gary
Download Presentation

Programming Convention

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Programming Convention Presenter : Nguyễn Bảo Trung

  2. Nội dung • Tổng quan về Programming Convention • Một số phong cách lập trình cũ • Đánh giá các thói quen cũ • Các quy tắc viết code của Steve McConnell • Lợi ích của việc trình bầy cẩn thận

  3. Tổngquanvề Programming Convention (PC) • Viết code như thế nào? • Cách viết code có ảnh hưởng đến khả năng tư duy và hiệu suất làm việc không? • Bài test • Bài tập 1 • Bài tập 2

  4. Tổngquanvề Programming Convention (Continue) • Cách viết code ảnh hưởng rất lớn đến khả năng tư duy và hiệu suât làm việc • Cần phải viết code theo kiểu gì để tăng khả năng tư duy và hiệu suất làm việc? • Viết code theo chuẩn • Thêm chú thích cần thiết, theo chuẩn • PC thể hiện bởi cách viết code và comment • PC tốt là cách viết code và comment theo chuẩn • Nếu không viết theo chuẩn thì sao?

  5. Mộtsốphongcáchlậptrìnhcũ • Không có chuẩn • Thích viết gì thì viết tuỳ theo hứng • Không có một logic tổng thể trong cách trình bày chương trình • Tự đặt ra một số quy tắc viết • Tiết kiệm dòng • Tiết kiệm cột • Lãng phí dòng • Lãng phí cột • Đã có chuẩn nhưng chưa thực sự tốt

  6. Đánhgiácácthóiquencũ • Dễ viết, thuận mắt (theo cảm tính) • Không nhanh như ta nghĩ • Dễ gây nhầm lẫn • Luôn thừa thiếu Begin…End • Rất khó đọc hiểu • Có nhiều lỗi do hiệu ứng phụ(Side effects) • Rất khó và mất nhiều thời gian cho việc sửa lỗi

  7. Cácquytắcviết code của Steve McConnell • Định lý cơ sở của định dạng • Cơ sở lý thuyết của định dạng là cách trình bầy rõ ràng, sáng sủa nổi bật được cấu trúc logic của chương trình • Chuẩn mực cho cách trình bầy chương trình có hiệu quả • Một phần nhỏ trong lập trình là để máy tính có thể đọc được nó • Phần lớn hơn là viết các mã lệnh cho chương trình chạy được theo đúng chức năng và làm sao để con người có thể đọc được nó

  8. Cáckỹnăngtrìnhbầy • Dấu trắng (dấu cách, dấu Tab, xuống dòng, dòng trắng,…) • Phân nhóm • Dòng trống • Sắp xếp thẳng hàng • Thụt vào • Sử dụng các dấu ngoặc đơn • Thêm chú thích vào chương trình

  9. Cáckiểutrìnhbầy • Khối Pure • Khối Endline • Khối Emulating Pure • Khối bao bởi Begin-end

  10. A B C D KhốiPure

  11. A B C D Khối Endline

  12. Begin A B C end D Khối Emulating Pure

  13. Begin end A B C D Khối bao bởi Begin-end

  14. Khối nào là tốt nhất • Khối Endline • Tồi nhất • Khối Pure • Thích hợp với ADA, VB, … • Khối Begin-End • Thích hợp với C, Pascal, … • Khối Emulating Pure • Có thể dùng cho cả ADA, VB, C, Pascal, …

  15. Các kỹ năng khác • Sử dụng các dòng trống giữa các đoạn chương trình • Định dạng các khối lệnh đơn phù hợp • Đối với các biểu thức phức tạp hãy đặt từng điều kiện trên từng dòng riêng (VD) • Tránh Goto

  16. Độ dài mỗi dòng lệnh • Nguyên tắc chung đưa ra cho giới hạn về độ dài mỗi dòng lệnh thường không quá 80 ký tự. Sau đây là một số lý do • Các dòng có quá 80 ký tự rất khó theo dõi • Giới hạn 80 ký tự trong một dòng không làm cản trở tới các vòng lệnh xếp chồng (như lệnh lặp, lệnh điều kiện...) • Các dòng dài quá 80 ký tự không thích hợp với khổ giấy in 8.5x11 • Các khổ giấy khác rất khó gộp trong file

  17. Sử dụng các dấu cách cho rõ ràng • Sử dụng dấu cách làm cho các biểu thức logic dễ đọc • Sử dụng dấu cách làm cho dễ so sánh

  18. Ví dụ • EmployeeName = InputName • EmployeeSalary = InputSalary • EmployeeBirthdate = InputBirthdate • BossTitle = Title • BossDept = Department • EmployeeName = InputName • EmployeeSalary = InputSalary • EmployeeBirthdate = InputBirthdate • BossTitle = Title • BossDept = Department

  19. Chỉ sử dụng một dòng đối với một dòng lệnh • Đặt mỗi lệnh trên một dòng sẽ không làm mất đi cấu trúc của các lệnh phức hợp • Tạo cho ta cảm giác đơn giản hơn dễ theo dõi • Khi bạn cần tìm một dòng lệnh đặc biệt chỉ cần nhìn theo lề bên trái của đoạn mã • Rất dễ kiểm soát lỗi (khi biết dòng lỗi)

  20. Trong C, tránh Side effects • Printf(“%d %d \n”, ++n, n+2); • ++n; • Printf(“%d %d \n”, n , n+2);

  21. Cách trình bầy các dữ liệu khai báo • Sắp xếp thẳng hàng đối với các dữ liệu khai báo • Chỉ khai báo một dữ liệu khai báo trên một dòng • Thứ tự khai báo rõ ràng

  22. Trình bầy các thủ tục • Sử dụng các dòng cách để phân chia các phần của thủ tục • Thụt các thủ tục vào với số đếm chuẩn void InsertionSort() { int FirstElmt; int LastElmt; }

  23. Chú thích (Comment) • Chú thích hay không chú thích? • Tác dụng của chú thích trong chương trình

  24. Tác dụng của chú thích trong chương trình • Khi kỹ năng viết chú thích chưa tốt • Các lời chú thích cho chương trình chiếm mất rất nhiều thời gian • Lời chú thích rất khó thay đổi • Các từ ngữ được dùng vào để giải thích rất khó diễn đạt được hết • Khi kỹ năng viết chú thích tốt • Làm chương trình trong sáng, dễ đọc, dễ hiểu • Thể hiện tốt cấu trúc chương trình

  25. Lợi ích của việc trình bầy cẩn thận • Thể hiện tốt cấu trúc lôgic của mã lệnh • Cải thiện khả năng đọc • Bảo đảm sự chính xác trong các thay đổi • Các lợi ích hệ quả của các lợi ích trên • Tiết kiệm thời gian sửa lỗi • Tăng khả năng làm việc theo nhóm, …

  26. Tóm tắt • Bạn đã hiểu được thế nào PC • PC của Steve McConnell • Lợi ích của việc tuân theo một PC tốt

  27. Vậy các bạn thu được gì qua buổi ngày hôm nay?

  28. Thực hành • Bài tập • Kết quả

More Related