FSC - CodeConvention(chuẩn viết code và thiết kế giao diện)

41 4K 29
FSC - CodeConvention(chuẩn viết code và thiết kế giao diện)

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

FSC - CodeConvention(chuẩn viết code và thiết kế giao diện)

1 CODE CONVENTION (Chuẩn viết code thiết kế giao diện) Hà Nội, Ngày 11/02/2011 2 I. MỞ ĐẦU 4 1. Mục đích . 4 2. Phạm vi . 4 3. Thuật ngữ viết tắt . 4 4. Tham khảo 4 II. CHUẨN VIẾT CODE TRONG C# . 5 1. Quy tắc đặt tên 5 2. Vòng lặp. . 8 3. lập trình hướng đối tượng . 8 4. Ngoại lệ . 9 5. Sự kiện.(Events) 10 6. Biến kiểu dữ liệu(Various data types) 11 7. Khuôn dạng code. 13 8. Ghi chú. 13 III. CHUẨN VIẾT CODE TRONG SQL SERVER. 15 1. Chuẩn đặt tên trong SQL SERVER. 15 2. Chuẩn viết mã nguồn trong SQL Server. 17 3. Kiểu dữ liệu. 18 4. Thủ tục. 18 5. Các cân nhắc khi viết lệnh(Performance considerations) . 19 IV. CHUẨN VIẾT CODE TRONG ORACLE PL/SQL. . 20 1. Chuẩn đặt tên trong ORACLE PL/SQL. . 20 2. Khuôn dạng code. 21 3. Sử dụng ngôn ngữ.(Language Usage). 22 1.1 Xử lý ngoại lệ. 26 1.2 Đối tượng lưu trữ. 27 V. CHUẨN THIẾT KẾ GIAO DIỆN. 28 1. Chuẩn thiết kế giao diện Winform. 28 1.1 Chuẩn đặt tên trong Winform. . 28 3 1.2 Chuẩn thiết kế giao diện các thành phần control của WinForm. . 29 1.2 Chuẩn thiết kế giao diện các thông báo(Message). . 32 2. Chuẩn thiết kế giao diện Webform. . 33 2.1 Chuẩn đặt tên các thành phần control của ASP.NET. 33 2.2 Tiêu chuẩn tối ưu. 34 2.3 Tiêu chuẩn về hiển thị. . 34 4 I. MỞ ĐẦU 1. Mục đích Mục đích của tài liệu là hướng dẫn thi hành viết thiết kế giao diện Winform Webform theo quy ước chuẩn hoá sự trình bày mã nguồn thiết kế giao diện của các developer . 2. Phạm vi Sử dụng nội bộ 3. Thuật ngữ viết tắt Thuật ngữ Diễn giải 4. Tham khảo STT Tài liệu 5 II. CHUẨN VIẾT CODE TRONG C# 1. Quy tắc đặt tên 1. Sử dụng tiếng Anh để khai báo tên. Ví dụ: magnetization, optimizing, realize, . 2. Sử dụng kiểu Pascal Camel để đặt tên. - Với kiểu Pascal chữ cái đầu tiên của mỗi từ được viết hoa. Ví dụ: BackColor. - Với kiểu Camel chỉ chữ cái của từ thứ 2, thứ 3,… được viết hoa. Ví dụ: backColor. 3. Sử dụng kiểu Pascal cho tên lớp. Ví dụ: public class HelloWorld { . } 4. Sử dụng kiểu Pascal cho tên phương thức. Ví dụ: void SayHello(string name) { . } 5. Sử dụng kiểu Camel cho tên biến tham số của phương thức. Ví dụ: int totalCount = 0; void SayHello(string name) { string fullMessage = "Hello " + name; . } 6. Sử dụng tiền tố “I” với kiểu Pascal cho các giao diện. Ví dụ: Ientity, IExportProvider 7. Không sử dụng ký hiệu Hungary cho tên biến. Ví dụ: Sai: string m_sName; int nAge; 6 Đúng: string name; int age; 8. Sử dụng từ có ý nghĩa mô tả cho biến không sử dụng từ viết tắt. Ví dụ: Đúng: string address int salary Sai: string nam string addr 9. Không sử dụng chữ cái đơn để đặt tên ví dụ như i, n, s… Trường hợp ngoại lệ là khi nó được sử dụng trong vòng lặp. Ví dụ: for ( int i = 0; i < count; i++ ) { . } 10. Không sử dụng dấu gạch dưới „_‟ cho tên biến cục bộ 11. Tất cả các biến thành viên đều được bắt đầu bằng dấu gạch dưới “m_” để phân biệt với biến cục bộ. Phần còn lại của tên biến được sử dụng cú pháp Pascal 12. Không sử dụng tên biến trùng với các từ khóa. 13. Thêm tiền tố “is” cho tên biến, phương thức thuộc tính Boolean. Ví dụ: private bool isFinished 14. Phương thức trả về giá trị nên có tên mô tả giá trị được trả về. Ví dụ: GetObjectState(). 15. Các biến thành viên nên được khai báo trên cùng trên từng dòng tách biệt. 16. Khai báo biến cục bộ gần nơi đầu tiên nó được sử dụng. 17. Tên của không gian(namespace) tên phải theo khuôn dạng chuẩn sau: <company name>.<product name>.<top level module>.<bottom level module> 18. Quy định đặt tên cho các thành phần giao diện của Winform. cách đặt tiền tố theo bảng sau: Coltrol Tiền tố 7 Label lbl TextBox txt DataGrid dtg Button btn ImageButton imb Hyperlink hlk DropDownList ddl ListBox lst DataList dtl Repeater rep Checkbox chk CheckBoxList cbl RadioButton rdo RadioButtonList rbl Image img Panel pnl PlaceHolder phd Table tbl Validators val 19. Tên tập tin phải phù hợp với tên lớp. Ví dụ: class HelloWorld thì tên tập tin là HelloWorld.cs 8 20. Sử dụng kiểu Pascal cho tên tập tin. 21. Không sử dụng các chữ cái có thể bị lẫn với chữ số ngược lại. Ví dụ:   : bool b001 = (lo == l0) ? (I1 == 11) : (lOl != 101); 2. Vòng lặp. 1. Không thay đổi giá trị biến lặp trong vòng lặp For: Cập nhật các biến lặp trong vòng lặp thường gây nhầm lẫn thậm chí sẽ còn tệ hơn nếu bạn thay đổi biến lặp tại hơn một vị trí. Luật này áp dụng cho cả vòng lặp Foreach. 2. Thay đổi giá trị biến lặp gần nơi điều kiện của vòng lặp được chỉ định. 3. Tất cả các điều khiển If, Else, While, Do, Swicth phải được theo sau bởi một cặp dấu ngoặc nhọn ({ }) ngay cả khi trong thân nó rỗng. Ví dụ: // Count number of elements in array. for (int i = 0; i < y; i++) { } Ngoại lệ: - Nếu câu lệnh “else” có thể trực tiếp theo sau một câu lệnh “if”. - Nếu mệnh đề “if” theo sau bởi một câu lệnh đơn thì không cần đặt nó trong một khối toàn bộ câu lệnh sẽ được viết trên một dòng. Ví dụ: if (x < 10) x = 0; 4. Tất cả các khối lệnh switch đều phải có nhãn “Default” như là nhãn “Case” cuối cùng. 5. Không so sánh rõ ràng điều kiện là đúng hay sai. Ví dụ: while (condition == false) // Sai while (condition != true) // Sai while (((condition == true) == true) == true //Sai  3. lập trình hướng đối tượng 1. Cung cấp một bộ khởi dựng mặc định „Private‟ nếu chỉ có phương thức thuộc tính tĩnh (static) trong lớp. - Ngoại lệ: 9 + Nếu lớp đó được khai báo là “Static” thì không yêu cầu tạo bộ khởi dựng “private”. + Khi một lớp được khai báo là “abstract” khi đó một bộ khởi dựng “protected” được yêu cầu. 2. Câu lệnh “If - Else” “Switch” sẽ được sử dụng khi vòng lặp phụ thuộc vào giá trị của đối tượng. Ràng buộc động sẽ được sử dụng khi vòng lặp phụ thuộc vào loại của đối tượng. 4. Ngoại lệ 1. Không bao giờ đưa ra một “Catch Exception” mà không làm gì cả. Nếu bạn che giấu một ngoại lệ bạn sẽ không bao giờ biết một ngoại lệ có xảy ra hay không. Rất nhiều nhà phát triển sử dụng phương pháp này để bỏ qua các lỗi không đáng kể. Nên tránh các ngoại lệ bằng cách kiểm tra tất cả các lỗi điều kiện lập trình. Trong mọi trường hợp bắt một ngoại lệ mà không làm gì cả là không được phép. 2. Trong trường hợp ngoại lệ hãy đưa ra một thông báo thân thiện tới người sử dụng. Đưa ra chỉ tiết nhất các thông tin về lỗi(nếu có thể). 3. Chỉ bắt ngoại lệ cụ thể không phải chung chung. Ví dụ: Tốt: void ReadFromFile ( string fileName ) { try { // read from file. } catch (FileIOException ex) { // log error. // re-throw exception depending on your case. throw; } } Không tốt: void ReadFromFile ( string fileName ) { try { 10 // read from file. } catch (Exception ex) { // Catching general exception is bad . we will never know whether // it was a file error or some other error. // Here you are hiding an exception. // In this case no one will ever know that an exception happened. return ""; } } 4. Không cần bắt một ngoại lệ chung trong tất cả các phương thức. Điều này sẽ giúp bạn tìm thấy hầu hết các lỗi trong chu kỳ phát triển. 5. Không viết khối Try-Catch trong tất cả các phương thức. Chỉ dùng khi có thể có một ngoại lệ xảy ra không có cách nào để ngăn chặn. Ví dụ, nếu bạn muốn chèn thêm một bản ghi mà nó chưa tồn tại trong CSDL, bạn nên Select bản ghi sử dụng khóa. Một số nhà phát triển cố gắng thêm một bản ghi mà không kiểm tra xem nó tồn tại hay chưa, nếu ngoại lệ xảy ra, nó sẽ cho rằng bản ghi đã tồn tại. Điều này không được phép. Bạn nên kiểm tra các lỗi hơn là chờ đợi một ngoại lệ xảy ra. Mặt khác, bạn nên sử dụng bộ xử lý ngoại lệ khi bạn làm việc với hệ thống bên ngoài như mạng lưới, thiết bị phần cứng, Các hệ thống như vậy thường thất bại bất cứ lúc nào kiểm tra lỗi không đáng tin cậy. Trong những trường hợp này bạn nên sử dụng bộ xử lý ngoại lệ cố gắng khắc phục lỗi. 6. Không nên viết một khối Try-Catch lớn. Nếu cần thiết chỉ viết mỗi khối Try – Catch cho một công việc mà bạn thực hiện. Điều này giúp bạn dễ dàng tìm được đoạn mã nguồn nào của bạn đưa ra ngoại lệ để đưa ra thông báo cho người dùng. 7. Chỉ đưa ra ngoại lệ trong trường hợp đặc biệt. 8. Không dùng khối Try- Catch cho vòng lặp. 9. Không lồng một khối Try – Catch trong một khối catch khác. 5. Sự kiện.(Events) 1. Luôn luôn kiểm tra thể hiện của một sự kiện có null không trước khi gọi. 2. Luôn sử dụng mặc định EventHandler EventArgs cho hầu hết những sự kiện đơn giản. [...]... STATEMENT-LEVEL Name : APPLICATION_BIS_TRG 2 Khuôn dạng code 1 Định dạng 21 - Từ khóa kiểu dữ liệu được viết hoa, mã nguồn được viết chữ thường - Thụt đầu dòng với 3 space - Mỗi câu lệnh được viết trên một dòng - Viết các từ khóa : THEN, LOOP, IS, ELSE, ELSIF, WHEN trên một dòng mới - Đặt dấu phẩy “,” trước các thành phần riêng biệt - Tham số, toán tử, giá trị trong một câu lệnh gọi được viết thẳng... Courier New - Sử dụng font tương ứng của Window Mac: + Arial, Helvetica, sans-serif 34 + Verdana, Geneva, sans-serif + Tahoma, Geneva, sans-serif + Courier New, Courier, monospace + Times New Roman, Times, serif - Kích thước font chuẩn là 0.7 em 0.75 em.(11px 12px) - Đơn vị kích thước em - Chiều cao dòng: 1.25 em với font serif, 1.5 em với font sans-serif, 1 em với font monospace - Chỉ sử dụng... cập nhật ta thêm tiền tố “cu_” - Biến cục bộ bắt đầu với tiền tố “l” - Biến toàn cục hằng số lần lượt được thêm tiền tố “g”, “c” - Ngoại lệ (Exception): e_tên ngoại lệ - Tham số đầu vào: i_tên tham số - Tham số đầu ra: o_tên tham số - Tham số vào ra(In/out parameter): io_tên tham số 9 Quy tắc đặt tên trigger Tên trigger được viết bằng tiếng Anh gồm tên bảng + tên viết tắt loại trigger + hậu tố “_TRG”... hành động - Thông báo này xuất hiện trong tình trạng có thể di chuyển được nhưng có kích thước cố định - Luôn cho phép người dùng trở lại ứng dụng mà không thực hiện hành động nào - Tiêu đề của thông báo là tên viết tắt tên phiên bản của phần mềm - Icon của thông báo là hình dấu “?” - Nhãn của cảnh báo là tên viết tắt của phần mềm phiên bản 2 Thông điệp cảnh báo (Warning message) 32 - Sử dụng... dụ: 16 CustomersID 8 Khóa ngoại - Tên khóa ngoại được viết theo cấu trúc: Tên bảng được tham chiếu+khóa chính 9 Ràng buộc Default ràng buộc Check - Tên ràng buộc Default có tiền tố “DEF”+ tên cột - Tên ràng buộc check có tiền tố “CHK” + tên cột 2 Chuẩn viế t mã nguồn trong SQL Server 1 Code cần dễ đọc có khuôn khổ rõ ràng - Viết chú thích trong thủ tục, trigger các khối lệnh SQL bất cứ khi... left alignment với đoạn văn 2 Màu sắc - Số màu tối đa (trừ đen trắng): 3 + Màu link: thiết kế cho người dùng thấy được link nào nhấn vào được link nào không link nào đã được nhấn vào (hoặc vừa được nhấn vào) + màu chính + màu phụ + Ngoài ra có thể dùng các màu cùng tone với các màu trên nhưng khác nhau về độ đậm nhạt - Độ tương phản cho phép giữa background text: ≥ 4.5 (sử dụng công cụ tính... file Nhóm các Namespace NET trên các Namespace tùy biến (custom namespace) 5 Nhóm nội dung trong thân lớp theo thứ tự như sau: - Biến thành viên - Constructors Finalizers - Enums, Structs Class được lồng vào - Thuộc tính - Phương thức 6 Sử dụng “#region” để nhóm các phần code có liên quan tới nhau 7 Sử dụng Tab để thụt đầu dòng không dùng backspace Kích thước mặc định của Tab là 4 8 Sử dụng một... cảnh báo - Icon của cảnh báo là hình dấu chấm than trong một tam giác như hình trên - Nhãn của cảnh báo là tên viết tắt của phần mềm phiên bản 3 Thông báo lỗi (Error message) - Chỉ sử dụng thông báo lỗi khi chương trình có lỗi trong quá trình thực hiện một thao tác nào đó - Thông báo lỗi xuất hiện trong trạng thái có thể di chuyển được có kích thước cố định - Nhãn của thông báo gồm tên viết tắt... viên khác có thể hiểu được code của bạn - Luôn sử dụng Tab để thụt đầu dòng khi cần thiết giúp việc đọc mã nguồn được dễ dàng - Luôn thống nhất trong việc sử dụng chữ in hoa in thường trong việc đặt tên cho đối tượng khi sử dụng tên đó trong một thủ tục, trigger,… Ví dụ: Khi bạn tạo một bảng với tên “MyTable” khi viết trong câu select bạn nên viết : SELECT * FROM MyTable - Không dùng số của cột... phạm vi - Tránh khai báo biến toàn cục là Public 2 Thủ tục - Tránh để thủ tục đứng một mình, hãy đặt thủ tục trong gói - Tránh sử dụng câu lệnh RETURN trong thủ tục 3 Hàm - Tránh đặt hàm đứng một mình hãy đặt chúng vào trong gói - Không dùng hơn một câu lệnh RETURN trong thân một hàm - Tạo câu lệnh RETURN là câu lệnh cuối cùng của hàm - Không sử dụng tham số OUT để trả về giá trị từ một hàm - Không . dẫn thi hành viết mã và thiết kế giao diện Winform và Webform theo quy ước và chuẩn hoá sự trình bày mã nguồn và thiết kế giao diện của các. 1 CODE CONVENTION (Chuẩn viết code và thiết kế giao diện) Hà Nội, Ngày 11/02/2011

Ngày đăng: 30/01/2013, 14:43

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan