Trả lời

5

Nó thực sự phụ thuộc vào kích thước và phạm vi dự án của bạn.

Tôi có xu hướng chia mọi thứ vào chức năng mỗi khi có cái gì đó lặp đi lặp lại, và lặp đi lặp lại rằng khái quát hóa/trừu tượng, theo quy tắc vàng của DRY (Đừng lặp lại chính mình).

Khi chia nhỏ các lớp, tôi có khuynh hướng làm theo câu chú giải lập trình hướng đối tượng của sự khác biệt, và chia lớp nếu một lớp đang triển khai nhiều hơn một "ý tưởng" hoặc thực thể lớn .

Nhưng thành thật nếu mã của bạn quá phân mảnh và mờ đục, bạn nên thử xem xét tái cấu trúc thành một cách tiếp cận/mô hình khác.

+1

1: Khái niệm thứ hai là SRP http://en.wikipedia.org/wiki/Single_responsibility_principle –

1

Có lẽ quy tắc cá nhân của riêng tôi là nếu dài hơn 2 dòng và được tham chiếu nhiều lần trên cùng một trang (ASP.net) hoặc vài lần trải trên một vài trang, tôi sẽ viết một hàm để làm điều đó.

1

Tôi nghĩ bạn thường phải nghĩ đến một đoạn mã có cơ hội được tái sử dụng. Nó đi kèm với kinh nghiệm để con số đó ra và lên kế hoạch trước.

0

Tôi được dạy rằng bất cứ điều gì bạn làm nhiều hơn một lần phải là một chức năng. Bất cứ điều gì tương tự nên có một lớp cha mẹ, và trên tất cả những người khác tham khảo ý kiến ​​mã nguồn của bạn "tiêu chuẩn" trong tổ chức của bạn. Sau này chủ yếu là giao dịch với định dạng.

+2

Tôi sẽ cẩn thận với việc ủng hộ thừa kế chỉ để cung cấp quyền truy cập dễ dàng vào các chức năng phổ biến. Thành phần là tốt hơn. Để lại thừa kế để thể hiện các mối quan hệ 'is-a'. –

+0

điểm chụp Lauri – bobby

1

Tôi đồng ý với câu trả lời tập trung vào khả năng sử dụng lại và loại bỏ sự lặp lại, nhưng tôi cũng tin rằng khả năng đọc ít nhất cũng quan trọng. Vì vậy, ngoài việc lặp lại, tôi sẽ tìm kiếm các đoạn mã (các lớp, các hàm, các khối, v.v.) làm nhiều thứ.

Nếu tên được liên kết với mã không mô tả những gì nó làm, thì đó là thời điểm tốt để cấu trúc lại mã đó thành các đơn vị có tên single responsibility và tên mô tả. Điều này separation of concerns sẽ giúp cả hai reusability, và dễ đọc.

Mã hữu ích có thể gắn bó trong một thời gian dài, vì vậy điều quan trọng là bạn (hoặc lý tưởng là người khác) có thể quay lại và dễ dàng hiểu mã được viết tháng hoặc năm trước.

2

Nếu tôi có thể cung cấp cho nó một cái tên tốt (tốt hơn so với mã nó thay thế), nó trở thành một chức năng

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