2009-01-20 18 views
6

Cho rằng tính năng làm việc là giá trị tốt hơn cho một công ty hơn so với mã tốt tại bất kỳ thời điểm nào và rằng mã xấu làm cho thêm nhiều tính năng hơn khó khăn:dừng đang thối

Làm thế nào để bạn ngừng mã từ xấu đi theo thời gian?

Tại bất kỳ thời điểm nào, việc tính năng hoạt động là ưu tiên cao hơn làm cho nó hoạt động với mã được thiết kế tốt, mất nhiều thời gian hơn. Mặc dù thời gian đi vào nỗ lực cho mỗi tính năng tăng lên.

Làm thế nào để bạn ngừng mã biến thành một mẩu không thể duy trì theo thời gian?

Trả lời

12

Một tập hợp toàn diện các đơn vị kiểm tra

chỉnh sửa: và nó rất hữu ích nếu chúng được viết tốt để kiểm tra chính xác tất cả các lớp học của bạn/interfaces một cách dễ đọc của con người.

chỉnh sửa 2: như svelil nói, refactor mã của bạn để giữ cho nó sạch sẽ, nhưng có thể làm điều này là hậu quả của việc có các bài kiểm tra đơn vị.

+0

+1 - amen to that. –

+0

Kiểm tra tích hợp, kiểm tra chức năng và kiểm tra giao diện người dùng cũng được yêu cầu;) – workmad3

+0

- Chúng sẽ đảm bảo rằng mã hoạt động. Tôi đã suy nghĩ nhiều hơn về khả năng bảo trì của mã. –

1

Một bộ tiêu chuẩn mã hóa phong phú.

Chúng không cần phải hoàn chỉnh, nhưng chúng có nghĩa là bạn biết những gì giống như dấu ngoặc nhọn của bạn là vì vậy bạn có ít suy nghĩ hơn (và điều đó có nghĩa là nơi mã được đổ xô và không được định dạng đúng cách sẽ nổi bật như một ngón tay cái đau)

2

Tái cấu trúc định kỳ, đặc biệt trong phần mã mà bạn hiện đang làm việc (quy tắc "Hướng đạo sinh").

3

Sử dụng một quá trình phát triển iterating:

  1. Thực hiện chức năng
  2. đang Refactor
  3. Chuyển đến 1.

Bạn phải có một số kỷ luật, nhưng nếu không có nó, bạn sẽ kết thúc có một mớ hỗn độn. Thậm chí nếu bạn nghĩ rằng "Ồ, mã có thể đọc được đủ", đừng bỏ qua bước 2. Tất nhiên, phát triển phải luôn đi kèm với thử nghiệm.

2

Câu trả lời hàng đầu và được chấp nhận trong câu hỏi này phải là "Kiểm tra đơn vị toàn diện".

Câu trả lời này sẽ không lặp lại điều đó.

Tuy nhiên việc thêm Bài kiểm tra đơn vị vào dự án hiện tại khó hơn nhiều và thường là bắt chước sai về những gì có thể đạt được nếu mã ứng dụng được viết bằng Kiểm tra đơn vị.

Áp lực lịch biểu cực đoan có thể làm cho nó không thể xem xét, những người không có kinh nghiệm sử dụng đơn vị kiểm tra nó vẫn là một punt lớn.

Đề xuất của tôi trong những điều kiện đó là viết cũng như bạn có thể đạt được các mục tiêu hiện tại. Hãy chuẩn bị để cấu trúc lại mã hiện có trước khi thêm các hàm mới. Trong khi thử nghiệm đơn vị sẽ làm cho cách tiếp cận này cách an toàn hơn, cách tiếp cận này vẫn hữu ích ngay cả khi không có thử nghiệm đơn vị.

Tất nhiên kiểm tra chung tốt và QA là quan trọng.

11

Kiểm tra đơn vị sẽ không tự mình tự mình thối.Tôi vẫn có thể viết mã khủng khiếp, không thể duy trì để vượt qua bài kiểm tra đơn vị.

Câu trả lời hay hơn là kiểm tra đơn vị. + refactoring + đẳng xét (hoặc ở giai đoạn cặp hoặc sau) + tiêu chuẩn thường xuyên

Bạn biết không có viên đạn bạc.

0

Trong công việc của mình, khi chúng tôi tiếp cận mã đóng băng, đôi khi cách tiếp cận 'nhanh và bẩn' đôi khi là cần thiết. Điều này thường dẫn đến một số mã khá dodgy mà làm việc nhưng xúc phạm mắt ngươi.

Tuy nhiên, ngay sau khi giao hàng có một khoảng thời gian tương đối yên tĩnh. Đây là cơ hội hoàn hảo để xem lại một số mã có mùi đó và gõ nó vào một chút hình dạng.

Nó giúp giữ một danh sách các khu vực mà bạn muốn dọn dẹp và gán một số loại ưu tiên cho chúng. Mặc dù bạn tin tưởng vào trí nhớ của mình như thế nào, bạn sẽ quên.

Cách tiếp cận này hoạt động khá tốt đối với tôi nhưng tôi cho rằng nó phụ thuộc vào quy trình làm việc của dự án cụ thể của bạn.

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