ớn đều có hướng dẫn về nguyên tắc viết code của ềm là việc có một ướn đều có hướng dẫn về nguyên tắc viết code của ng d n v nguyên t c vi t code c a ẫn về nguyên tắc viết code của ềm là
Trang 1NGUYÊN T C ẮC
TRÌNH C#
Sinh viên th c hi n : Nguy n Minh Phúcực hiện : Nguyễn Minh Phúc ện : Nguyễn Minh Phúc ễn Minh Phúc
Lê Xuân Thành
Trang 2Gi i Thi u ới Thiệu ệu
01
Trang 3Gi i Thi u ới Thiệu ệu
● M t trong nh ng y u t quan tr ng khi phát tri n ph n m m là vi c có m t ững yếu tố quan trọng khi phát triển phần mềm là việc có một ếu tố quan trọng khi phát triển phần mềm là việc có một ố quan trọng khi phát triển phần mềm là việc có một ọng khi phát triển phần mềm là việc có một ển phần mềm là việc có một ần mềm là việc có một ềm là việc có một ện : Nguyễn Minh Phúc nguyên t c vi t code nh t quán Nguyên t c này không ch giúp code d đ c, d ếu tố quan trọng khi phát triển phần mềm là việc có một ất quán Nguyên tắc này không chỉ giúp code dễ đọc, dễ ỉ giúp code dễ đọc, dễ ễn Minh Phúc ọng khi phát triển phần mềm là việc có một ễn Minh Phúc
hi u h n mà còn giúp d dàng b o trì và m r ng d án ển phần mềm là việc có một ơn mà còn giúp dễ dàng bảo trì và mở rộng dự án ễn Minh Phúc ảo trì và mở rộng dự án ở rộng dự án ực hiện : Nguyễn Minh Phúc
● M i d án mã ngu n m l n đ u có h ực hiện : Nguyễn Minh Phúc ồn mở lớn đều có hướng dẫn về nguyên tắc viết code của ở rộng dự án ớn đều có hướng dẫn về nguyên tắc viết code của ềm là việc có một ướn đều có hướng dẫn về nguyên tắc viết code của ng d n v nguyên t c vi t code c a ẫn về nguyên tắc viết code của ềm là việc có một ếu tố quan trọng khi phát triển phần mềm là việc có một ủa mình, t vi c s d ng ch hoa, ch th ện : Nguyễn Minh Phúc ử dụng chữ hoa, chữ thường đến “không dùng biến toàn cục”, ụng chữ hoa, chữ thường đến “không dùng biến toàn cục”, ững yếu tố quan trọng khi phát triển phần mềm là việc có một ững yếu tố quan trọng khi phát triển phần mềm là việc có một ường đến “không dùng biến toàn cục”, ng đ n “không dùng bi n toàn c c”, ếu tố quan trọng khi phát triển phần mềm là việc có một ếu tố quan trọng khi phát triển phần mềm là việc có một ụng chữ hoa, chữ thường đến “không dùng biến toàn cục”,
“không s d ng các ngo i l ”,… ử dụng chữ hoa, chữ thường đến “không dùng biến toàn cục”, ụng chữ hoa, chữ thường đến “không dùng biến toàn cục”, ại lệ”,… ện : Nguyễn Minh Phúc
● Bài thuy t trình này cung c p m t s h ếu tố quan trọng khi phát triển phần mềm là việc có một ất quán Nguyên tắc này không chỉ giúp code dễ đọc, dễ ố quan trọng khi phát triển phần mềm là việc có một ướn đều có hướng dẫn về nguyên tắc viết code của ng d n v nguyên t c vi t code mà ẫn về nguyên tắc viết code của ềm là việc có một ếu tố quan trọng khi phát triển phần mềm là việc có một google s d ng ử dụng chữ hoa, chữ thường đến “không dùng biến toàn cục”, ụng chữ hoa, chữ thường đến “không dùng biến toàn cục”,
Trang 4Các nguyên t c ắc
02
Trang 5a Mã Ngu n ồn mở lớn đều có hướng dẫn về nguyên tắc viết code của
• Tên c a các class, phủa ươn mà còn giúp dễ dàng bảo trì và mở rộng dự án.ng th c, enum, các thành ph n public và namespace ph i vi t ức, enum, các thành phần public và namespace phải viết ần mềm là việc có một ảo trì và mở rộng dự án ếu tố quan trọng khi phát triển phần mềm là việc có một hoa ch cái đ u: ững yếu tố quan trọng khi phát triển phần mềm là việc có một ần mềm là việc có một PascalCase.
• Tên c a các bi n c c b ph i vi t thủa ếu tố quan trọng khi phát triển phần mềm là việc có một ụng chữ hoa, chữ thường đến “không dùng biến toàn cục”, ảo trì và mở rộng dự án ếu tố quan trọng khi phát triển phần mềm là việc có một ường đến “không dùng biến toàn cục”, ng ch cái đ u: ững yếu tố quan trọng khi phát triển phần mềm là việc có một ần mềm là việc có một camelCase.
• Tên c a các thành ph n private, protected, internal ho c proteted internal ph i có ủa ần mềm là việc có một ặc proteted internal phải có ảo trì và mở rộng dự án thêm d u “_” đ u: ất quán Nguyên tắc này không chỉ giúp code dễ đọc, dễ ở rộng dự án ần mềm là việc có một _camelCase.
• Các quy t c đ t tên không b nh hặc proteted internal phải có ị ảnh hưởng bởi các từ khóa như const, static, readonly,… ảo trì và mở rộng dự án ưở rộng dự án.ng b i các t khóa nh const, static, readonly,…ở rộng dự án ư
• M i t trong tên b t đ u b ng m t ch cái in hoa, bao g m c t vi t t t, không có ần mềm là việc có một ằng một chữ cái in hoa, bao gồm cả từ viết tắt, không có ững yếu tố quan trọng khi phát triển phần mềm là việc có một ồn mở lớn đều có hướng dẫn về nguyên tắc viết code của ảo trì và mở rộng dự án ếu tố quan trọng khi phát triển phần mềm là việc có một
d u cách gi a các t Ví d : ất quán Nguyên tắc này không chỉ giúp code dễ đọc, dễ ững yếu tố quan trọng khi phát triển phần mềm là việc có một ụng chữ hoa, chữ thường đến “không dùng biến toàn cục”, MyRpc thay vì MyRPC.
• Tên c a interface b t đ u b ng I: ủa ần mềm là việc có một ằng một chữ cái in hoa, bao gồm cả từ viết tắt, không có IInterface.
Trang 61 Đ t tên ặt tên
a Mã ngu n ồn mở lớn đều có hướng dẫn về nguyên tắc viết code của
b File
• Tên File và đường đến “không dùng biến toàn cục”, ng d n là PascalCase Ví d : ẫn về nguyên tắc viết code của ụng chữ hoa, chữ thường đến “không dùng biến toàn cục”, MyFile.cs
• Tên file nên là tên c a class chính trong file Ví d : ủa ụng chữ hoa, chữ thường đến “không dùng biến toàn cục”, MyClass.cs
• M i file ch nên ch a m t class.ỉ giúp code dễ đọc, dễ ức, enum, các thành phần public và namespace phải viết
Trang 72 T ch c các thành ph n ổ chức các thành phần ức các thành phần ần
• Các modifier đ ư! c s p x p theo th t sau: public, protected, internal, private, new, ếu tố quan trọng khi phát triển phần mềm là việc có một ức, enum, các thành phần public và namespace phải viết ực hiện : Nguyễn Minh Phúc abstract, virtual, override, sealed, static, readonly, extern, unsafe, volatile, async
• Các khai báo namespace using đ ư! c đ t đ u file, tr ặc proteted internal phải có ở rộng dự án ần mềm là việc có một ướn đều có hướng dẫn về nguyên tắc viết code của c b t kì các namespace nào ất quán Nguyên tắc này không chỉ giúp code dễ đọc, dễ khác Khai báo các namespace này theo th t b ng ch cái, tr ức, enum, các thành phần public và namespace phải viết ực hiện : Nguyễn Minh Phúc ảo trì và mở rộng dự án ững yếu tố quan trọng khi phát triển phần mềm là việc có một System luôn luôn
n m đ u tiên ằng một chữ cái in hoa, bao gồm cả từ viết tắt, không có ần mềm là việc có một
Trang 82 T ch c các thành ph n ổ chức các thành phần ức các thành phần ần
• S p x p các thành ph n trong class: ếu tố quan trọng khi phát triển phần mềm là việc có một ần mềm là việc có một
• Các thành ph n trong class đ ần mềm là việc có một ư! c chia thành các nhóm s p x p theo th t : ếu tố quan trọng khi phát triển phần mềm là việc có một ức, enum, các thành phần public và namespace phải viết ực hiện : Nguyễn Minh Phúc
• Các l p con l ng bên trong, enum, delegate, event ớn đều có hướng dẫn về nguyên tắc viết code của ồn mở lớn đều có hướng dẫn về nguyên tắc viết code của
• Các tr ường đến “không dùng biến toàn cục”, ng static, const, readonly.
• Các tr ường đến “không dùng biến toàn cục”, ng và thu c tính.
• Hàm d ng và hàm h y ực hiện : Nguyễn Minh Phúc ủa
• Các ph ươn mà còn giúp dễ dàng bảo trì và mở rộng dự án ng th c ức, enum, các thành phần public và namespace phải viết
Trang 92 T ch c các thành ph n ổ chức các thành phần ức các thành phần ần
• S p x p các thành ph n trong class: ếu tố quan trọng khi phát triển phần mềm là việc có một ần mềm là việc có một
• Trong m i nhóm, các thành ph n nên đ ần mềm là việc có một ư! c s p x p theo th t : ếu tố quan trọng khi phát triển phần mềm là việc có một ức, enum, các thành phần public và namespace phải viết ực hiện : Nguyễn Minh Phúc
• Public
• Internal
• Protected internal
• Protected
• Private
• N u có th các class tri n khai interface nên đ ếu tố quan trọng khi phát triển phần mềm là việc có một ển phần mềm là việc có một ển phần mềm là việc có một ư! c nhóm l i v i nhau ại lệ”,… ớn đều có hướng dẫn về nguyên tắc viết code của
Trang 103 Kho ng tr ng ảng trắng ắc
• T i đa m t câu l nh m t dòng ố quan trọng khi phát triển phần mềm là việc có một ện : Nguyễn Minh Phúc
• T i đa m t phép gán trên m i câu l nh ố quan trọng khi phát triển phần mềm là việc có một ện : Nguyễn Minh Phúc
• Th t l b ng 2 d u cách, không dùng tab ụng chữ hoa, chữ thường đến “không dùng biến toàn cục”, ềm là việc có một ằng một chữ cái in hoa, bao gồm cả từ viết tắt, không có ất quán Nguyên tắc này không chỉ giúp code dễ đọc, dễ
• Gi i h n c t: 100 ớn đều có hướng dẫn về nguyên tắc viết code của ại lệ”,…
• Không xu ng dòng tr ố quan trọng khi phát triển phần mềm là việc có một ướn đều có hướng dẫn về nguyên tắc viết code của c d u ngo c m ất quán Nguyên tắc này không chỉ giúp code dễ đọc, dễ ặc proteted internal phải có ở rộng dự án.
• Không xu ng dòng gi a d u ngo c đóng và t kháo else ố quan trọng khi phát triển phần mềm là việc có một ững yếu tố quan trọng khi phát triển phần mềm là việc có một ất quán Nguyên tắc này không chỉ giúp code dễ đọc, dễ ặc proteted internal phải có
• S d ng d u ngo c nh n ngay c khi không b t bu c ử dụng chữ hoa, chữ thường đến “không dùng biến toàn cục”, ụng chữ hoa, chữ thường đến “không dùng biến toàn cục”, ất quán Nguyên tắc này không chỉ giúp code dễ đọc, dễ ặc proteted internal phải có ọng khi phát triển phần mềm là việc có một ảo trì và mở rộng dự án.
• Có d u cách sau t khóa if/for/while và sau d u ph y ất quán Nguyên tắc này không chỉ giúp code dễ đọc, dễ ất quán Nguyên tắc này không chỉ giúp code dễ đọc, dễ ẩy.
Trang 113 Kho ng tr ng ảng trắng ắc
• Không có cách sau d u ngo c m và tr ất quán Nguyên tắc này không chỉ giúp code dễ đọc, dễ ặc proteted internal phải có ở rộng dự án ướn đều có hướng dẫn về nguyên tắc viết code của c d u ngo c đóng ất quán Nguyên tắc này không chỉ giúp code dễ đọc, dễ ặc proteted internal phải có
• Không có cách gi a toán t có m t toán h ng và toán h ng c a nó Vd: ++a ững yếu tố quan trọng khi phát triển phần mềm là việc có một ử dụng chữ hoa, chữ thường đến “không dùng biến toàn cục”, ại lệ”,… ại lệ”,… ủa
• M t d u cách gi a toán t và m i toán h ng c a t t c các toán t khác Vd: a + b ất quán Nguyên tắc này không chỉ giúp code dễ đọc, dễ ững yếu tố quan trọng khi phát triển phần mềm là việc có một ử dụng chữ hoa, chữ thường đến “không dùng biến toàn cục”, ại lệ”,… ủa ất quán Nguyên tắc này không chỉ giúp code dễ đọc, dễ ảo trì và mở rộng dự án ử dụng chữ hoa, chữ thường đến “không dùng biến toàn cục”,
• Xu ng dòng: ố quan trọng khi phát triển phần mềm là việc có một
• Các dòng n i ti p đ ố quan trọng khi phát triển phần mềm là việc có một ếu tố quan trọng khi phát triển phần mềm là việc có một ư! c lùi vào 4 d u cách ất quán Nguyên tắc này không chỉ giúp code dễ đọc, dễ
• Xu ng dòng v i d u ngo c (khai báo danh sách, đ i t ố quan trọng khi phát triển phần mềm là việc có một ớn đều có hướng dẫn về nguyên tắc viết code của ất quán Nguyên tắc này không chỉ giúp code dễ đọc, dễ ặc proteted internal phải có ố quan trọng khi phát triển phần mềm là việc có một ư! ng,…) không đ ư! c tính là n i ti p ố quan trọng khi phát triển phần mềm là việc có một ếu tố quan trọng khi phát triển phần mềm là việc có một
• V i vi c đ nh nghĩa và g i hàm, n u danh sách các đ i s quá dài không th ớn đều có hướng dẫn về nguyên tắc viết code của ện : Nguyễn Minh Phúc ị ảnh hưởng bởi các từ khóa như const, static, readonly,… ọng khi phát triển phần mềm là việc có một ếu tố quan trọng khi phát triển phần mềm là việc có một ố quan trọng khi phát triển phần mềm là việc có một ố quan trọng khi phát triển phần mềm là việc có một ển phần mềm là việc có một
v a trên 1 dòng thì nên đ ư! c chia thành nhi u dòng v i các dòng ti p theo ềm là việc có một ớn đều có hướng dẫn về nguyên tắc viết code của ếu tố quan trọng khi phát triển phần mềm là việc có một
đ ư! c căn ch nh theo đ i s đ u tiên N u không đ ch , có th cho các đ i s ỉ giúp code dễ đọc, dễ ố quan trọng khi phát triển phần mềm là việc có một ố quan trọng khi phát triển phần mềm là việc có một ần mềm là việc có một ếu tố quan trọng khi phát triển phần mềm là việc có một ủa ển phần mềm là việc có một ố quan trọng khi phát triển phần mềm là việc có một ố quan trọng khi phát triển phần mềm là việc có một vào dòng ti p theo và lùi 4 d u cách ếu tố quan trọng khi phát triển phần mềm là việc có một ất quán Nguyên tắc này không chỉ giúp code dễ đọc, dễ
Trang 12H ưới Thiệu ng d n ẫn
code C#
03
Trang 13 H ng ằng
• Các bi n và trếu tố quan trọng khi phát triển phần mềm là việc có một ường đến “không dùng biến toàn cục”, ng có th đển phần mềm là việc có một ư!c khai báo const nên luôn đư!c khai báo là
const.
• N u không th khai báo ếu tố quan trọng khi phát triển phần mềm là việc có một ển phần mềm là việc có một const thì có th dùng ển phần mềm là việc có một readonly.
• Nên dùng h ng s thay vì magic number.ằng một chữ cái in hoa, bao gồm cả từ viết tắt, không có ố quan trọng khi phát triển phần mềm là việc có một
IEnumerable vs IList vs IReadOnlyList
• Đ i v i input, s d ng ki u collection có tính ch t gi i h n nh t có th ố quan trọng khi phát triển phần mềm là việc có một ớn đều có hướng dẫn về nguyên tắc viết code của ử dụng chữ hoa, chữ thường đến “không dùng biến toàn cục”, ụng chữ hoa, chữ thường đến “không dùng biến toàn cục”, ển phần mềm là việc có một ất quán Nguyên tắc này không chỉ giúp code dễ đọc, dễ ớn đều có hướng dẫn về nguyên tắc viết code của ại lệ”,… ất quán Nguyên tắc này không chỉ giúp code dễ đọc, dễ ển phần mềm là việc có một
• N u c n chuy n quyên s h u c a d li u t i ch m i thì nên dùng Ilist còn ếu tố quan trọng khi phát triển phần mềm là việc có một ần mềm là việc có một ển phần mềm là việc có một ở rộng dự án ững yếu tố quan trọng khi phát triển phần mềm là việc có một ủa ững yếu tố quan trọng khi phát triển phần mềm là việc có một ện : Nguyễn Minh Phúc ớn đều có hướng dẫn về nguyên tắc viết code của ủa ớn đều có hướng dẫn về nguyên tắc viết code của không thì nên dung ki u có tính ch t gi i h n nh t có th ển phần mềm là việc có một ất quán Nguyên tắc này không chỉ giúp code dễ đọc, dễ ớn đều có hướng dẫn về nguyên tắc viết code của ại lệ”,… ất quán Nguyên tắc này không chỉ giúp code dễ đọc, dễ ển phần mềm là việc có một
Generator và Container
• Code trong container thường đến “không dùng biến toàn cục”, ng d đ c h n.ễn Minh Phúc ọng khi phát triển phần mềm là việc có một ơn mà còn giúp dễ dàng bảo trì và mở rộng dự án
• Code trong generator có th có hi u su t cao h n n u không c n đển phần mềm là việc có một ện : Nguyễn Minh Phúc ất quán Nguyên tắc này không chỉ giúp code dễ đọc, dễ ơn mà còn giúp dễ dàng bảo trì và mở rộng dự án ếu tố quan trọng khi phát triển phần mềm là việc có một ần mềm là việc có một ư! ử dụng chữ hoa, chữ thường đến “không dùng biến toàn cục”, c x lý
m t cách lường đến “không dùng biến toàn cục”, i bi ng (lazily) khi mà không c n t t c k t qu ếu tố quan trọng khi phát triển phần mềm là việc có một ần mềm là việc có một ất quán Nguyên tắc này không chỉ giúp code dễ đọc, dễ ảo trì và mở rộng dự án ếu tố quan trọng khi phát triển phần mềm là việc có một ảo trì và mở rộng dự án
• Code trong generator đư!c bi n đ i tr c ti p thành container thông qua ếu tố quan trọng khi phát triển phần mềm là việc có một ổi trực tiếp thành container thông qua ực hiện : Nguyễn Minh Phúc ếu tố quan trọng khi phát triển phần mềm là việc có một
ToList() sẽ kém hi u qu h n là t o container tr c ti p.ện : Nguyễn Minh Phúc ảo trì và mở rộng dự án ơn mà còn giúp dễ dàng bảo trì và mở rộng dự án ại lệ”,… ực hiện : Nguyễn Minh Phúc ếu tố quan trọng khi phát triển phần mềm là việc có một
• G i code Generator nhi u l n sẽ ch m h n Container.ọng khi phát triển phần mềm là việc có một ềm là việc có một ần mềm là việc có một ậm hơn Container ơn mà còn giúp dễ dàng bảo trì và mở rộng dự án