MỤC LỤC
Sử dụng kiểu “enum” bất cứ nơi nào cần thiết, không dùng kiểu số và kiểu chuỗi để chỉ ra các giá trị riêng rẽ. Luôn sử dụng bí danh của kiểu dữ liệu được xây dựng trong C# hơn là dùng của hệ thống kiểu chung của .NET. Sử dụng các thuộc tính truy cập để cung cấp khả năng truy cập tới chúng như “Public”, “Protect”, “Internal”.
Sử dụng kiểu “int” cho những giá trị số không phải phân số, các biến đó sẽ phù hợp với kiểu dữ liệu “int” ngay cả khi biến đó dùng cho một số không âm. Tránh chỉ định kiểu cụ thể cho một “enum”, sử dụng kiểu mặc định là “int” trừ khi bạn có nhu cầu cụ thể về việc sử dụng kiểu “long”(rất hiếm).
Luôn dùng chú thích <summary> bao gồm <param>, <return> và <exception> bất cứ nơi nào có thể.
- Viết chú thích trong thủ tục, trigger và các khối lệnh SQL bất cứ khi nào có vấn đề không rành mạch. - Luôn thống nhất trong việc sử dụng chữ in hoa và in thường trong việc đặt tên cho đối tượng và 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.
- Luôn viết tên cột cần insert trong câu lệnh INSERT để tránh sai sót khi có sự thay đổi cấu trúc của bảng. - Sử dụng kiểu dữ liệu Unicode NCHAR, NVARCHAR hoặc NTEXT nếu cơ sở dữ liệu của bạn không chỉ lưu trữ các ký tự tiếng Anh. Chỉ sử dụng kiểu dữ liệu Unicode khi thực sự cần thiết vì nó chiếm gấp hai lần không gian không bộ nhớ so với kiểu dữ liệu không phải Unicode.
Thay vì gọi hàm LEN nhiều lần bạn gọi hàm đó một lần duy nhất và lưu kết quả vào một biến cho lần sau sử dụng. - Nếu thủ tục của bạn luôn trả về một tập kết quả là hàng đơn nên xem xét tới việc sử dụng tham số OUTPUT để trả về tập kết quả đó thay vì sử dụng câu lệnh SELECT. - Không dùng “SELECT *” trong câu truy vấn mà viết chính xác tên cột bạn cần lấy ra sau câu SELECT.
- Hãy sử dụng SET NOCOUNT ON tại đầu một lô, một thủ tục, trigger để ngăn thông báo như “1 row(s) affected” sau khi thực hiện SELECT, UPDATE, DELETE hay INSERT. Việc này sẽ cải thiện được hiệu suất của thủ tục lưu trữ bằng việc giảm lưu lượng đường truyền trên mạng. - Thực hiện kiểm tra toàn vẹn tham chiếu và kiểm tra tính hợp lệ của dữ liệu nên sử dụng các ràng buộc (constraint) như khóa ngoại hay ràng buộc “check” thay vì dùng trigger.
Tên khóa ngoại bao gồm tên viết tắt (là các chữ cái đầu tiên của tên bảng và chỉ gồm 4 ký tự) của 2 bảng và theo sau là hậu tố “_FK”. Nếu tên thực thể chứa nhiều chữ thì giữa các chữ đặt một dấu gạch dưới. 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ố.
- Từ khóa và kiểu dữ liệu được viết hoa, mã nguồn được viết chữ thường. - Tham số, toán tử, giá trị trong một câu lệnh gọi được viết thẳng hàng. - Khi chỉ có một dòng chú thích ký hiệu “--” được sử dụng để đánh dấu một chú thích.
Nhóm các nhóm mã có cùng logic và tách biệt giữa các nhóm là một dòng trắng hoặc một ghi chú. - Trong code nên viết các chú thích giúp các lập trình viên khác có thể dễ dàng hiểu được. - Nếu trong chương trình có nhiều dòng chú thích liền nhau ta sử dụng ký hiệu.
- Sử dụng con trỏ để đọc dữ liệu, sau khi xử lý dữ liệu xong phải đóng con trỏ lại để giải phóng bộ nhớ.
- Tránh sử dụng EXIT để ngưng xử lý một vòng lặp trừ khi bạn đang ở trong một vòng lặp cơ bản. - Luôn xử dụng EXIT WHEN thay cho một câu lệnh IF để thoát khỏi một vòng lặp. - Không sử dụng con trỏ cho vòng lặp để kiểm tra con trỏ có trả về dữ liệu hay không.
Không xử lý một ngoại lệ chưa được đặt tên bằng việc sử dụng số lỗi. Tránh sử dụng mệnh đề WHEN OTHERS trong một khối ngoại lệ mà không có bất kỳ xử lý cụ thể nào. - Luôn luôn thêm tên của đơn vị chương trình vào sau từ khóa END của đơn vị chương trình đó.
- Loại bỏ các tham số chưa đùng tới hoặc chỉnh sửa mã nguồn để sử dụng các tham số này. Chỉ bao gồm một vài thủ tục và hàm sử dụng trong một phạm vi.
- Sử dụng label để mô tả nội dung cho một GroupBox, TexBox, CheckBox, … hoặc để đưa ra một thông báo cho người dùng. - Các ô checkbox có cùng logic cần được nhóm lại với nhau trong một groupbox và có một nhãn mô tả nội dung chung cho tất cả các ô checkbox này. + Các đối tượng được chọn trong danh sách “Dịch chuyển từ” sẽ được ẩn và xuất hiện tại danh sách “Dịch chuyển tới”.
- Một nút có kích thước phụ thuộc độ dài của nhãn mô tả nhưng không được nhỏ hơn độ dài mặc định của nút (75,23). - Khi thiết kế đặt dấu “&” trước các ký tự khác nhau của mỗi nút để tạo ra gạch chân tại mỗi nút có tác dụng khi chuột không hoạt động được. - Trường hợp dùng khi thực hiện các thao tác với dữ liệu trên lưới chỉ cần để hình ảnh thể hiện việc dữ liệu đang được thao tác.
- Trường hợp đối tượng chỉ tiến độ được gắn trên Form, cần có một label thông báo cho người dùng biết quá trình đang được thực hiện. Cần có một nút thực hiện việc hủy bỏ thực hiện tiến trình trong trường hợp người dùng muốn hủy thao tác vừa yêu cầu. - Các nút Radio có cùng logic được nhóm lại với nhau và đặt trong một groupbox, có một nhãn mô tả nội dung chung cho các nút radio này.
- Với các ô text bắt buộc nhập dữ liệu cần đặt thêm một dấu “*” màu đỏ trước ô text đó và một label để thông báo cho người dùng biết. - Khi người dùng kích chọn tùy chọn chung nào thì tùy chọn chi tiết tương ứng của tùy chọn đó sẽ hiện ra tương ứng tại phần dành cho các tùy chọn chi tiết. - Trong trường hợp đang thực hiện một thao tác và đưa ra cảnh báo để nhận sự điều hướng từ người dùng thì cảnh báo cần có 2 nút.
- Độ tương phản cho phép giữa background và text: ≥ 4.5 (sử dụng công cụ tính http://snook.ca/technical/colour_contrast/colour.html, xem thông số Contrast ratio). - Nên dùng các thẻ Meta tag : là các thẻ Meta được sử dụng ở phần Header của Html nhằm tăng khả năng tìm kiếm các từ khoá của các công cụ tìm kiếm. - Thẻ Meta Content Type dùng để khai báo mã cho website.Nếu không sử dụng thì có khi người dùng website sẽ không đọc được nội dung website do trình duyệt không tự động điều chỉnh mã phù hợp cho website.
Đây là thẻ được hầu hết các SE sử dụng để hiển thị nội dung kết quả tìm kiếm.Thẻ này được khuyến khích sử dụng và nên viết một cách xúc tích nhất nhằm thu hút người dùng bấm vào website từ kết quả tìm kiếm. - Nếu font chữ của website quá nhỏ, hãy cho nó về mức tiêu chuẩn (font-family:Arial;font- size:12px ), SE có thể bỏ qua site ngày nếu font chữ quá nhỏ. - Luôn chèn thông tin liên hệ, hoặc trang liên lạc ở cuối trang web - Nên cố gắng sắp xếp site theo một mẫu CSS stylesheet.
- Loại bỏ các iframe trong site, phần lớn các SE ko index các iframe, nó có thể làm cho cả page chứa iframe bị ảnh hưởng. - Nên sử dụng ít nhất 1 bức ảnh cho mỗi trang có kèm alt tag, đừng nghĩ là loại bỏ hết tranh ảnh có thể cải thiện rank cho site. - Tạo một trang điều khoản cá nhân cho site - Đặt link tới điều khoản cá nhân ở dưới mỗi trang - Khi rewrite url nên sử dụng dấu “-” thay cho dấu “_”.
- Nên chèn google maps vào trang liên lạc (about page) - Nên chèn link từ trang này đến trang khác cho site - Sử dụng thẻ META description riêng biệt cho mỗi trang - Kiểm tra mã nguồn và sửa các lỗi. - Khi trả lời một yêu cầu, trợ giúp gì đó nên trả lời ở trang support hoặc help đó, không nên sử dụng email, đưa họ đến trang FAQ nếu câu hỏi đó đã được trả lời, nên cập nhập FAQ thường xuyên. - Nên chèn mã để thống kê (analytics code) cho website của bạn ở tất cả các trang, có thể sử dụng histat.com, statcounter.com, hay google analytics tùy theo định hướng phát triển - Xóa bỏ tất cả các mã tự động điều chỉnh kích thước trình duyệt của khách.