publicclassExample{privatestaticfinalStringCOMMISSIONED=null;privatestaticfinalStringHOURLY=null;privatestaticfinalStringSALARIED=null;publicMoneycalculatePay(Employeee)throwsInvalidEmployeeType{switch(e.type){caseCOMMISSIONED:returncalculateCommissionedPay(e);caseHOURLY:returncalculateHourlyPay(e);caseSALARIED:returncalculateSalariedPay(e);default:thrownewInvalidEmployeeType(e.type);}}privateMoneycalculateCommissionedPay(Employeee){// TODO Auto-generated method stubreturnnull;}privateMoneycalculateHourlyPay(Employeee){// TODO Auto-generated method stubreturnnull;}privateMoneycalculateSalariedPay(Employeee){// TODO Auto-generated method stubreturnnull;}}
Code tốt : Chúng ta nên tách isTestPage và includeSetupAndTeardownPages thành 2 methods riêng
1
2
3
4
5
6
7
8
9
10
11
12
publicclassExample{privatestaticbooleanisTestPage(PageDatapageData){// TODO Auto-generated method stubreturnfalse;}privatestaticvoidincludeSetupAndTeardownPages(PageDatapageData,booleanisSuite){// TODO Auto-generated method stub}}
4. Phương thức chỉ nên có 1 level abstraction
Ví dụ như anh muốn gọi phương thức render (vẽ hình) của đối tượng Drawline bên dưới. Thì anh chỉ cần paint.render() . Chỉ sử dụng 1 dấu chấm thôi (paint.render), chứ không phải gọi nhiều tầng (nhiều dấm chấm) paint.render().getFullPath().getElement(). Mình chỉ nên sử dụng 1 tầng (1 dấm chấm).
Mỗi method chỉ làm một việc duy nhất. Trong ví dụ dưới đây hàm print làm 2 nhiệm vụ là printBanner và lấy toạ độ. Như vậy là sai vì mỗi method chỉ làm một nhiệm vụ của nó. Hàm print nên chỉ làm việc của mình là in ra màn hình còn việc lấy tạo độ để một method khác lo.
Method nhiều nhất chỉ chứa 2 tham số. Nếu vượt quá 2 tham số thì chúng ta nên gộp các tham số đó lại thành một đối tượng. Trong ví dụ dưới đây
chúng ta thay thế các tham số x, y, radius thành đối tượng Point.
Copy code và dán lại code vào nhiều chỗ khác nhau trong source code là một thói quen xấu. Trường hợp nếu mình có lỗi xảy ra thì mình không biết tìm lỗi đó ở đâu, vì mình đã copy nó quá nhiều chỗ. Trong một team phát triển phần mềm có rất nhiều lập trình viên làm việc chung với nhau trên 1 source do đó nếu mình copy code và dán vào thì người khác cũng rất khó để tìm lỗi. Đặc biệt trong giai bảo trì , nhiều code copy sẽ dẫn đến trường hợp khó khăn trong fix bug. Chúng ta nên sử dụng tool sonar chi tiết tại đây để kiểm tra xem code chúng ta đã tốt chưa có bị trùng lập ở đâu không.
Tóm tắt
Các cách trên đây thường được áp dụng khi mình viết một phương thức đúng chuẩn. Nếu tuân thủ các cách trên anh chắc chắn mọi người sẽ viết ra những dòng code đẹp, dễ đọc và để bảo trì trong tương lai.
Mọi người hãy Subscribe kênh youtube dưới đây nhé để cập nhật các video mới nhất về kỹ thuật và kỹ năng mềm