Nguyên tắc cần nắm chắc để viết 1 đoạn code chuẩn

Xem chủ đề cũ hơn Xem chủ đề mới hơn Go down

Nguyên tắc cần nắm chắc để viết 1 đoạn code chuẩn Empty Nguyên tắc cần nắm chắc để viết 1 đoạn code chuẩn

Bài gửi by sonvu 4/8/2016, 16:04

Bạn có thế có nhiều cách khác nhau để đánh giá chất lượng code của một ứng dụng , nhưng một request quan yếu luôn cần phải có đó là code ứng dụng phải có xác xuất bảo trì được ( maintainable ). Những việc như căn thụt lề đúng cách , đặt tên biến gọn gàng , 100% được kiểm thử , v.v… sẽ chỉ là những request thêm để cho phần code đó trở nên đẹp hơn. Vô luận phần code nào không có xác xuất bảo trì ( maintainable ) và chẳng thể thích ứng với những request thay đổi thì sẽ nhanh chóng bị lỗi thời. Bạn có xác xuất không để ý phải viết  ra phần code toàn hảo khi đang cố gắng tạo ra một nguyên mẫu ( prototype ) , một chứng cứ của khái niệm hoặc một sản phẩm khả thi tối thiểu ( MVP ) , nhưng trong rất nhiều các trường hợp khác bạn nên xoành xoạch viết ra code có xác xuất bảo trì được ( maintainable ). Điều này nên được coi là một chất lượng căn bản của công nghệ ứng dụng và thiết kế. 
Nguyên tắc cần nắm chắc để viết 1 đoạn code chuẩn Hoc-lap-trinh-truc-tuyen-online-co-ban-den-nang-cao-20122015-1
Trong bài viết này tôi sẽ luận bàn về Nguyên tắc bổn phận độc nhất vô nhị ( Single Responsibility Principle ) và một số kỹ thuật xoay quanh nó để có xác xuất giúp bạn nâng cao chất lượng code ứng dụng của mình. Viết được code toàn hảo là một đáp ứng các tiêu chuẩn thẩm mỹ và sự nhạy cảm , nhưng một số nguyên tắc xoành xoạch có xác xuất giúp cho nghề nghiệp của bạn phát triển theo hướng tạo nên ứng dụng mạnh mẽ và dễ bảo trì.

Model là tất cả.

Rất nhiều mọi cuốn sách viết về một số framework MVC mới ( MVP , MVVM , hoặc M** khác ) không có gì lạ hoặc đặc biệt rất nhiều những đoạn code nếu tồi. Những nếu này cố gắng thể hiện những gì mà framework đó cung cấp. Nhưng chúng cũng kết thúc bằng cách đưa ra những lời khuyên tồi cho những người mới xuất phát. Nếu như "chúng ta có ORM X này cho các model , templating engine Y cho các view và bạn sẽ có các controller để quản lý tất cả chúng" , điều này không thu được gì khác hơn là các controller đồ sộ.
Mặc dù ở một góc cạnh hăng hái nào đó , những nếu này minh họa cách dễ nhất để bạn có xác xuất tiếp cận với framework của họ. Nhưng như vậy không có tức thị chúng sẽ dạy cho bạn cách thiết kế ứng dụng đúng cách. Những người học dần dần sẽ nhận thấy sự phản hiệu quả trong các dự án sau này của họ.
Nguyên tắc cần nắm chắc để viết 1 đoạn code chuẩn Hoc-lap-trinh-truc-tuyen-online-co-ban-den-nang-cao-20122015-2
Các model chính là trái tim trong ứng dụng của bạn. Ví như bạn có các model tách ra khỏi phần còn lại của logic ứng dụng , thì việc bảo trì sẽ dễ dàng hơn nhiều , vô luận ứng dụng của bạn có không đơn giản đến thế nào đi chăng nữa. Ngay cả với những ứng dụng không đơn giản , việc sử dụng model tốt cũng có xác xuất tạo ra những code ứng dụng dễ hiểu hơn rất nhiều. Để đạt được điều này hãy xuất phát bằng việc đảm bảo những model của bạn chỉ làm đúng những việc request , không để ý đến tuốt ứng dụng. Hơn nữa nó cũng không liên tưởng đến những gì nằm bên dưới tầng lưu trữ dữ liệu: cho dù ứng dụng của bạn dựa vào cơ sở dữ liệu SQL hay là lưu trữ ở dạng file text.
Ở phần sau của bài viết này , bạn sẽ nhận ra để viết được code tốt đòi hỏi phải phân tích sự liên tưởng rất nhiều.
Tại các khóa học xay dung ung dung Android ở Vietpro, học viên luôn được chỉ dẫn phát triển ứng dụng theo các nguyên tắc SOLID để cho ra sản phẩm ứng dụng tốt và dễ bảo trì. (đọc thêm tại http://laptrinhios.net.vn/lap-trinh-ios-su-dung-ngon-ngu-gi/)

Nguyên tắc bổn phận độc nhất vô nhị ( Single Responsibility Principle )

Có xác xuất bạn đã nghe đồn về các nguyên tắc SOLID: bổn phận độc nhất vô nhị ( Single responsibility ) , đóng mở ( Open-closed ) , thay thế của Liskov ( Liskov substitution ) , phân chia interface ( Interface segregation ) , đảo ngược sự nước phụ thuộc ( dependency inversion ). Chữ S đầu tiên mô tả về nguyên lý chịu bổn phận độc nhất vô nhị ( Single Responsibility Principle - SRP ) , và tầm quan yếu của nó không hề bị thổi phồng. Tôi thậm chí còn ý là đó là điều cần thiết , tối quan yếu để viết ra code tốt. Trong thực chất , trong bất kỳ phần code được viết tồi nào thì bạn đều có xác xuất tìm thấy một class làm nhiều hơn một nhiệm vụ của nó. Nếu như form1.cs hoặc index.php chứa vài nghìn dòng lệnh  hoặc  những thứ na ná , bạn đều đã từng thấy hoặc tạo nên chúng.
Đây là một lớp OrderController thường nhật , nó có phương thức Create. Trong các controller như thế này , tôi không có gì lạ hoặc đặc biệt lớp Order được sử dụng như là một request parameter. Nhưng tôi thích sử dụng những lớp thực hành nhiệm vụ biệt lập hơn ( Single Responsibility Principle ).
Nguyên tắc cần nắm chắc để viết 1 đoạn code chuẩn Hoc-lap-trinh-truc-tuyen-online-co-ban-den-nang-cao-20122015-3

Bạn cần lưu ý là trong đoạn code trên controller biết quá nhiều về quá trình “đặt hàng” bao gồm cả lưu trữ đối tượng Order , và gửi email cho khách hàng , v.v… Hay nói giản đơn là có quá nhiều công năng trong một lớp độc nhất vô nhị. Mỗi khi có một thay đổi nhỏ thì lập trình viên cần phải thay đổi tuốt code của controller. Trong trường hợp những Controller khác cũng cần tạo ra các order , thường thì các lập trình viên sẽ copy-paste đoạn code đó. Các controller chỉ nên kiểm soát tuốt quá trình , và không thực sự chứa tất cả logic của quá trình đó.
sonvu
sonvu
Cấp 2
Cấp 2

Bài gửi : 71
Điểm : 3194
Like : 0
Tham gia : 04/03/2016
Đến từ : Hai Phong

https://trainghiemmuasam.com

Về Đầu Trang Go down

Xem chủ đề cũ hơn Xem chủ đề mới hơn Về Đầu Trang

- Similar topics

Permissions in this forum:
Bạn không có quyền trả lời bài viết