Mách bạn những nguyên tắc, định luật cần biết trong lập trình

Mách bạn những nguyên tắc, định luật cần biết trong lập trình

Hôm nay, kênh iSchoolvietnam sẽ giúp cho bạn biết được những nguyên tắc, định luật cần biết trong lập trình để có được kết quả làm việc như mong muốn. Đừng tiếc thời gian mấy phút để đọc hết nội dung bài viết dưới đây nhé!

1. Nguyên tắc, định luật cần biết trong lập trình: Nguyên tắc Demeter

Còn có tên gọi khác là nguyên tắc “càng biết ít càng tốt”.

Demeter là tên gọi của Nữ thần nông nghiệp, cũng là nữ thần phân phát trong thần thoại Hi Lạp. Tên bà được dùng để đánh dấu sự ra đời của nguyên tắc này, đây có thể xem là một triết lý nền tảng của việc lập trình được sinh ra từ một aspect-oriented programming (AOP) project cùng tên.

Mách bạn những nguyên tắc, định luật cần biết trong lập trình hình 1

Mách bạn những nguyên tắc, định luật cần biết trong lập trình

Quan điểm cơ bản của nguyên tắc này chính là : tối giản sự hiểu biết của 1 object về cấu trúc, thuộc tính của các object khác ngoài nó (bao gồm các thành phần con).

(Tham khảo: en.wikipedia.org/wiki/Law_of_Demeter)

Nói một cách đơn giản là không được tiếp xúc với thuộc tính, method của các object khác một cách trực tiếp.

– Vi phạm nguyên tắc Demeter:

console.log(aStudent.class.grade)
– Không vi phạm nguyên tắc Demeter:

2. Định luật Wirth

Định luật Wirth được thể hiện qua câu nói đơn giản sau:

“Software gets slower faster than hardware gets faster” – “Tốc độ tiến hóa của phần cứng không bằng tốc độ thoái hóa của phần mềm.”

Có lẽ ý chính của nó là: lập trình ngày càng dùng nhiều tài nguyên phong phú nên framework phải luôn tiến hóa để phục vụ cho việc đó. Suy ra, tốc độ phần cứng dù có tang lên đi nữa thì tốc độ phần mềm cũng chẳng hề thay đổi gì.

3. Định luật Brook

Đây là một định luật dựa trên kinh nghiệm thực t: “Đưa thêm người vào 1 project đang chậm, sẽ chỉ khiến nó càng chậm hơn.”

Những nguyên tắc, định luật cần biết trong lập trình – Ảnh 3.
Hay có thể nói theo một cách khác nữa là “Tập hợp 9 bà bầu lại cũng không thể khiến đứa trẻ ra đời sau 1 tháng.”

Luận thuyết cơ bản của định luật này là:

– Cần thời gian để quen với project

– Công sức dành cho việc communication sẽ tăng

4. Định luật Conway

“Một công ty thiết kế hệ thống thế nào cũng sẽ làm ra những thiết kế giống y hệt với thiết kế hệ thống của chính công ty họ.”

Nghiên cứu gần đây củ chỉ ra rằng hệ thống của công ty là nhân tố ảnh hưởng lớn nhất đến vấn đề phát sinh ra bug của sản phẩm.

5. Nguyên tắc bất ngờ nhỏ nhất (least astonishment)

Trong trường hợp trên cùng 1 interface có 2 yếu tố hành xử mâu thuẫn với nhau, hoặc cách hành xử không rõ ràng thì cần phải chọn cách hành xử nào gây bất ngờ ít nhất cho người sử dụng.

Đây là một nguyên tắc về giao diện người dùng.

Ví dụ
Trên 1 interface có 2 chức năng chính:

– Ấn ctrl Q để thoát chương trình.

Mách bạn những nguyên tắc, định luật cần biết trong lập trình hình 2

Những nguyên tắc, định luật cần biết trong lập trình

– Nhập macro (lưu 1 tổ hợp phím mang 1 chức năng nào đó để tiện cho việc sử dụng về sau).

Sẽ có trường hợp user muốn dùng Ctrl Q cho macro của mình, nên hành xử đúng với nguyên tắc bất ngờ nhỏ nhất chính là: trong khi nhập macro thì ctrl Q được coi như là tổ hợp phím bình thường, không phải là lệnh tắt chương trình. Đây chính là điều gây bất ngờ ít nhất cho người dùng.

6. Nguyên tắc Boy Scout

Nguyên tắc của các tổ chức Boy scout chính là: lúc đi phải sạch đẹp hơn lúc đến.

Trong lĩnh vực lập trình thì nguyên tắc đó sẽ được hiểu là “Khi bạn checkin 1 module thì lúc đó nó phải đẹp hơn lúc bạn checkout.”

7. Nguyên tắc YAGNI

Viết tắt của “You ain’t gonna need it” – Cái (chức năng, phần) ấy rồi sẽ không cần thiết.

Đó là một câu khẩu ngữ nhắc nhở người lập trình rằng trong quy trình Extreme Programming (lập trình cực hạn) thì : “Chưa phải lúc cần thiết thì chưa được phép làm.”

8. Nguyên tắc DRY

Viết tắt của “Don’t repeat yourself” – với ý nghĩa là “Đừng lặp lại những gì giống nhau”.

(en.wikipedia.org/wiki/Don’t_repeat_yourself)

Khi nguyên tắc này được áp dụng tốt, dù ta có thay đổi 1 phần thì những phần không liên quan cũng sẽ không bị thay đổi theo. Hơn nữa, những phần có liên quan sẽ được thay đổi cùng 1 lượt, giúp ích rất nhiều cho cả khâu estimate và khâu thực hiện.

Qua những nguyên tắc, định luật được chia sẻ qua bài viết trên, bạn hoàn toàn có thể rút ra cho mình những kinh nghiệm cần thiết khi làm lập trình Website. Hãy cha sẻ bài viết đến nhiều người để biết được thêm nhiều thông tin hữu ích hơn.

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *