2009-05-29 19 views
11

Robert C. Martin trong một trong những cuốn sách của ông đề cập đến độ nhớt như là một triệu chứng của thiết kế mục nát. Tôi không hoàn toàn hiểu ý tưởng về độ nhớt trong phát triển phần mềm. Bạn có thể cho tôi một số ví dụ không?Thiết kế và độ nhớt thối rữa

Trả lời

11

Ông có hai công dụng, độ nhớt của thiết kế và độ nhớt của môi trường.

Đầu tiên, chất lỏng có độ nhớt cao, như kem đánh răng và bơ đậu phộng, không dòng chảy trơn tru như chất lỏng có độ nhớt thấp như nước.

Thiết kế có độ nhớt cao giúp dễ dàng thực hiện hack hơn là bảo toàn thiết kế. Việc hack làm cho mã trở nên cứng nhắc hơn, tăng độ nhớt hơn nữa.

Độ nhớt của môi trường đề cập đến luồng công việc. Nếu thời gian biên dịch kéo dài, hoặc đó là một nỗi đau để xây dựng hệ thống hoặc chạy thử nghiệm, các lập trình viên sẽ thực hiện các phím tắt để giảm bớt cơn đau.

13

Khi mã trở nên cũ hơn, nó có nhiều hacks hơn và nhiều phụ thuộc hơn, và do đó sẽ khó thay đổi hơn mà không vi phạm điều gì đó.

Vì vậy, nó sẽ ít "chất lỏng" hơn và "rắn" hơn, do đó tương tự với độ nhớt.

3

Độ nhớt là khả năng của chất lỏng để chống lại các thay đổi từ lực bên ngoài. Nước là cơ sở để đo lường và có độ nhớt rất thấp (tức là nó sẽ chảy tự do từ nơi này sang nơi khác), trong khi đó, sữa chua có độ nhớt cao khi làm lạnh nó gần như chắc chắn và đẹp ở lại nhiều nơi bạn đặt nó (trừ khi bạn mặc quần màu sáng trong trường hợp nó tìm đường đến đó mỗi lần ...).

Trong phần mềm, điều này dịch cho biết mã của bạn chống thay đổi bao nhiêu. Nếu bạn có rất nhiều phụ thuộc, thì có thể khó thay đổi một lớp học lớn, do đó dẫn đến các giải pháp ít lý tưởng hơn để tăng sức đề kháng của mã (tăng độ nhớt của nó). Mã được thiết kế tốt (độ nhớt thấp) có thể được cập nhật và bổ sung mà không ảnh hưởng lớn đến các ứng dụng hoặc các lớp khác phụ thuộc vào nó.

Các vấn đề liên quan