Tổ chức và lưu tên file, thư mụcQuy tắc đối với thư mục Tên thư mục phải trực quan, mô tả được tác dụng của những file chứa bên trong và được tối ưu nhất không dồn tất cả các file vào
Trang 1Môn: PHÁT TRIỂN ỨNG DỤNG
Phần: Quy tắc và cách viết code (review)
Trang 2Nội dung
1 Tổ chức và lưu tên file, thư mục
2 Các kiểu quy ước viết hoa
3 Cách tổ chức, đặt tên cho Function, Class
4 Quy tắc đặt tên biến
5 Comment trong quá trình viết Code
6 Coding Plan
7 Code Review
Trang 31 Tổ chức và lưu tên file, thư mục
Quy tắc đối với thư mục
Tên thư mục phải trực quan, mô tả được tác dụng của những file
chứa bên trong và được tối ưu nhất (không dồn tất cả các file vào một thư mục nếu không cùng với mục đích của thư mục)
Tên thư mục không nên đặt in hoa, tất cả ký tự nên là chữ thường,
không sử dụng dấu cách trong khi đặt thư mục, nếu cần thiết sử
dụng dấu gạch dưới ( _ ) để đặt tên
Trang 41 Tổ chức và lưu tên file, thư mục (tt)
Quy tắc đối với File và đặt tên File :
Tổ chức File: lưu phải đúng địa điểm, nằm đúng thư mục mô tả tác
dụng của tập tin đó
Đặt tên File
Tên File được lưu phải mô tả được nội dung của tập tin đó
Tên File không sử dụng dấu cách (space), nếu cần thiết sử
dụng dấu gạch dưới ( _ ), không nên dùng tiếng Việt có dấu đặt tên tập tin
Trang 51 Tổ chức và lưu tên file, thư mục (tt)
Quy tắc đặt tên chung:
Java, C# phân biệt chữ thường và chữ hoa
Tên chỉ được phép bắt đầu bằng A-Z, a-z , $ , …
Tên không được trùng keywords của Java/C#
Trang 62 Các kiểu quy ước viết hoa
Có 3 quy tắc viết hoa:
Pascal Case
Chữ cái đầu tiên trong từ định danh và chữ cái đầu tiên của mỗi từ
nối theo sau phải được viết hoa Sử dụng Pascal Case để đặt tên cho một tên có từ 3 ký tự trở lên
Camel Case
Chữ cái đầu tiên trong từ định danh là chữ thường và chữ cái đầu
tiên của mối từ nối theo sau phải được viết hoa
Uppercase
Tất cả các ký tự trong từ định danh phải được viết hoa Sử dụng
quy tắc này đối với tên định danh có từ 2 ký tự trở xuống
Trang 72 Các kiểu quy ước viết hoa (tt)
VD trong ngôn ngữ lập trình C#
Kiểu dữ liệu Kiểu quy ước Chú ý
Interface Pascal Casing Dùng tiền tố I
Events Pascal Casing
Exception Pascal Casing Kết thúc với hậu tố Exception
Public Fields Pascal Casing
Methods Pascal Casing
Namespace Pascal Casing
Property Pascal Casing
Protected/private Fields Camel Casing
Parameters Camel Casing
Trang 83 Cách tổ chức, đặt tên cho Function, Class
Cách tổ chức Function, Class
Class, Function khai báo tên có mục đích rõ ràng, mô tả được công
việc mà Class (lớp) và các Funtion (phương thức) của lớp thực
hiện
Tên Class (dùng danh từ) không bắt đầu bằng số, bắt buộc bắt đầu
bằng chữ cái và viết HOA chữ cái đầu tiên
Tên của các phương thức phải là động từ Tên Function trong Java:
bắt đầu bằng 1 ký tự thường và viết hoa chữ cái đầu tiên Tên
Function trong C# có quy tắc như tên Class
Không sử dụng dấu cách (space) cho tên Class, Function Nếu cần
thiết sử dụng dấu gạch dưới ( _ )
Bắt buộc mô tả bằng dấu Comment về nội dung Class, Function,
các biến truyền vào, các biến sẽ trả về.
Trang 94 Quy tắc đặt tên biến
Tên biến phải mô tả rõ ràng nội dung của biến
Viết bằng chữ thường
Không sử dụng dấu cách (space) khi đặt tên, nếu cần thiết sử dụng
dấu ( _ )
Tên biến khai báo có hoặc không cần kiểu dữ liệu
Khi khai báo biến phải sử dụng comment để nêu rõ tác dụng và nội
dung biến sẽ chứa
Trang 105 Comment trong quá trình viết Code
Đối với tất cả các loại ngôn ngữ, comment trong quá trình viết code
rất quan trọng, nó sẽ mô tả được các thông tin và điều mà người lập trình cần lưu ý đối với người đọc và chỉnh sửa code sau này
Comment với tất cả Class, Function, Biến, quá trình xử lý điều kiện
nào đó
Sử dụng comment theo 2 cách : dùng dấu ( //comment content )
hoặc cặp dấu (/* comment content*/)
Tất cả nội dung trong comment bao gồm : Biến, Function, Class,
Text
Trang 115 Comment trong quá trình viết Code
VD: Comment cho một lớp:
/// <summary>
/// The Person class provides …
/// </summary>
public class Person {….}
Trang 12VD Đặt tên cho các control trong C#
Tiền tố Loại Control Tiền tố Loại Control Tiền tố Loại Control Tiền tố Loại Control
lbl Label spl Splitter ppc PrintPreviewControl tab TabControl
llbl LinkLabel dud DomainUpDown err ErrorProvider dtm DateTimePicker
btn Button nud NumericUpDown pdoc PrintDocument mon MonthCalendar
txt Textbox trk TrackBar psd PageSetupDialog sbr ScrollBar
mnu MainMenu pro ProgressBar crv CrystalReportDialog tmr Timer
chk CheckBox rtxt RichTextBox pd PrintDialog sqld SqlDbCommand
rdo RadioButton img ImageList sw FileSystemWatcher ofd OpenFileDialog
grp GroupBox hlp HelpProvider log EventLog sdl SaveFileDialog
pic PictureBox tip ToolTip dire DirectoryEntry fd FontDialog
grd Grid cmnu ContextMenu dirs DirectorySearcher cd ColorDialog
lst ListBox tbr ToolBar msq MessageQueue pd PrintDialog
cbo ComboBox frm Form pco PerformanceCounter ppd PrintPreviewDialog
lstv ListView bar StatusBar pro Process ds DataSet
tre TreeView nico NotifyIcon ser ServiceController dvw DataView
Trang 13VD Đặt tên cho các control Java (swing/awt)
Tiền tố Loại Control Tiền tố Loại Control Tiền tố Loại Control
btn Jbutton mni JMenuItem tab JTabbedPaneJTable chk JCheckBox opt JOptionPane tbl JTable
clr JColorChooser pnl JPanel tbh JTableHeader cmb JComboBox pmn JPopupMenu txa JTextArea ico JDesktopIcon prg JProgressBar txt JTextField edt JEditorPane rad JRadioButton txp JTextPane fch JFileChooser rot JRootPane tgl JToggleButton
ifr JInternalFrame scb JScollBar tlb JToolBar
lbl JLabel scr JScrollPane tlt JToolTip
lyp JLayeredPane spr JSeparator tre Jtree
Trang 146 Coding Workflow
Trang 157 Review Code
3 phương pháp review code
review chéo (giữa 2 lập trình viên với nhau),
cả nhóm ngồi họp cùng review
technical leader review
Trang 167 Review Code (tt)
Lợi ích của Review code do cả nhóm thực hiện
Đảm bảo code ngắn gọn, rõ ràng, hiệu năng tốt hơn
Phát hiện lỗi sớm (cá nhân có thể quên các tình huống kiểm
thử)
Nâng cao kỹ năng lập trình
Đồng bộ hóa các công việc trong nhóm
Góp ý xây dựng chương trình (về UI, về các mẫu thiết kế
code