Bạn đang yêu cầu Chén Thánh của công nghệ phần mềm và chưa có ai có "câu trả lời" cho câu hỏi này.
Điều cần thiết là bạn theo dõi các loại lỗi mà bạn đang mắc phải và sau đó phân tích các lỗi đó để xác định xem có xu hướng chung hay không. Phân tích nguyên nhân gốc là tên chính thức của loại hướng nội này, và có rất nhiều tài liệu trên web liên quan đến nó.
Các chuyên gia sử dụng một hệ thống theo dõi lỗi để họ có thể (1) biết những gì cần khắc phục, nhưng cũng (2) phân tích những gì phải được sửa chữa sau thực tế. Bạn không cần phải quá trang trọng - chỉ cần giữ một kiểm đếm trong một cuốn sổ có thể tốt cho bạn.
Khiếm khuyết giai đoạn thiết kế
Nếu bạn thấy rằng hầu hết các lỗi của bạn xuất phát từ sự hiểu lầm về tuyên bố vấn đề hoặc nếu bạn tiếp tục tìm thấy bạn đã chọn sai thuật toán hoặc đường dẫn để giải quyết vấn đề của mình, bạn sẽ gặp vấn đề trong giai đoạn thiết kế.
Nó sẽ khiến bạn mất nhiều thời gian hơn khi bắt đầu dự án và viết ra chính xác những gì cần phải làm và làm thế nào để thực hiện nó. Xem xét công việc này một cách cẩn thận và xem xét lại vấn đề ban đầu và xác định xem bạn có thực sự giải quyết nó đúng cách hay không. Thêm một hoặc ba giờ khi bắt đầu có thể giúp bạn tiết kiệm nhiều giờ trên đường.
Lỗi mã hóa
Nếu thiết kế của bạn chắc chắn, nhưng bạn liên tục chiến đấu với ngôn ngữ mà bạn đang mã hóa, hãy lấy cho mình một số công cụ sẽ phân tích mã cho bạn và cảnh báo bạn sớm và thường xuyên rằng bạn đang mắc lỗi.
Nếu bạn đang lập trình bằng C, hãy bật tất cả các cảnh báo của trình biên dịch, sử dụng trình kiểm tra ngữ nghĩa như lint
và sử dụng một công cụ như valgrind
để nắm bắt các vấn đề liên quan đến bộ nhớ động phổ biến.
Nếu bạn đang lập trình Perl, bật strict
và warnings
và chú ý những gì nó nói.
Cho dù bạn đang sử dụng ngôn ngữ nào, có lẽ vẫn tồn tại nhiều công cụ để giúp nắm bắt các lỗi phổ biến từ lâu trước khi bạn đến giai đoạn gỡ lỗi.
Khiếm khuyết giai đoạn tích hợp
Khi bạn phát triển mã của mình theo các thực tiễn mô đun hóa tốt, bạn phải bắt đầu dán các phần riêng biệt lại với nhau. Ví dụ, các phần khác nhau trong mã của bạn có thể phải thực hiện với đầu vào của người dùng, tương tác cơ sở dữ liệu, hiển thị dữ liệu, thuật toán / logic và mỗi phần này được xây dựng tương đối độc lập với nhau (nghĩa là bạn có xu hướng tập trung vào phần đó trong tay thay vì lo lắng về việc tích hợp với mọi thứ khác).
Đây là nơi phát triển theo hướng kiểm tra (TDD) rất tiện dụng. Mỗi mô-đun mã của bạn có thể có các kiểm tra xác minh rằng chúng hoạt động theo cách chúng được thiết kế. Các bài kiểm tra này nên được viết trước hoặc rất sớm trong quy trình để bạn có thể có một bộ "người trợ giúp" để giữ cho bạn trung thực. Khi bạn bắt đầu làm mọi thứ hoạt động cùng nhau và bạn thấy rằng bạn phải thay đổi cách thực hiện hoặc tương tác với một hệ thống phụ khác, bạn có thể quay lại các bài kiểm tra của mình để đảm bảo rằng bạn đã làm gì để thực hiện tất cả đều hoạt động cùng nhau không phá vỡ tính chính xác của mã.
Và cứ thế ...
Chọn một số cuốn sách về công nghệ phần mềm và kỹ thuật mã hóa thực tế, và bạn sẽ học được nhiều cách khác nhau để làm cho sự phát triển bớt hỗn loạn và đáng tin cậy hơn. Bạn cũng sẽ thấy rằng chỉ cần kinh nghiệm cũ đơn giản - kiếm được một tấm bằng từ trường học của những cú va chạm mạnh - cũng sẽ giúp bạn trở nên cân đối.
Điều mà hầu hết mọi thứ sôi sục là một chút thời gian và công việc trả trước bằng cổ tức lớn sau này trong quá trình phát triển / phát hành.
Thực tế là bạn đã nhận thấy những vấn đề này từ rất sớm trong sự nghiệp nói lên điều tốt cho tương lai của bạn và tôi chúc bạn may mắn nhất.