Để không mắc sai lầm trong việc lập trình phần mềm, bạn cần nắm được các nguyên tắc cơ bản và phát triển tư duy của lập trình viên giỏi nên có. Tư duy của lập trình viên giỏi giúp bạn đưa ra quyết định tốt hơn trong quá trình lập trình hằng ngày. Điều này khiến phần mềm của mình đơn giản nhất có thể, tránh việc khó quản lý và phức tạp. Dưới đây là những nguyên tắc cơ bản chính mà các nhà phát triển phần mềm nên nắm vững.
1. Quan niệm mục đích của phần mềm
Trước hết, bạn nên hiểu mục đích của phần mềm. Hầu hết mục đích duy nhất của tất cả các phần mềm là giúp đỡ mọi người.
Nếu nhà phát triển không hình dung được mục đích của phần mềm, họ có thể viết nên các phần mềm xấu. Phần mềm xấu là gì? Đó là một hệ thống phức tạp nhưng không có quá nhiều lợi ích với nhiều người.
2. Mục tiêu của thiết kế phần mềm
Mỗi lập trình viên là một nhà thiết kế. Việc thiết kế phần mềm với mục đích làm cho nhà phát triển làm việc dễ dàng, có thể khiến họ tập trung vào những vấn đề.
Tuy nhiên, nếu bạn thiết kế một hệ thống xấu, tuổi thọ phần mềm sẽ ngắn. Vì vậy, có hai điểm mà chúng ta cần nắm rõ: Thiết kế của bạn phải dễ dàng cho bạn và hữu ích cho người khác.
3. Hiểu đầy đủ
Các nhà phát triển không hiểu đầy đủ về công việc của họ có xu hướng phát triển các hệ thống rất phức tạp. Nó có thể dẫn đến một vòng luẩn quẩn: hiểu lầm dẫn đến sự phức tạp, sau đó dẫn đến sự hiểu lầm xa hơn,.... Trên thực tế, cách tốt nhất để cải thiện kỹ năng thiết kế, tư duy của lập trình viên giỏi là đảm bảo rằng bạn hiểu đầy đủ về các hệ thống và công cụ bạn đang làm việc.
4. Sự đơn giản
Lập trình là hành động khiến những thứ phức tạp trở nên đơn giản. Một nhà phát triển giỏi tạo ra những thứ dễ hiểu và loại bỏ tất cả các lỗi. Sự thật là nếu các nhà phát triển khác đọc mã của bạn mà có thể hiểu nó một cách dễ dàng thì điều đó có nghĩa rằng bạn đang làm tốt.
5. Kiểm soát sự phức tạp
Nguồn gốc của nhiều lỗi phần mềm là sự phức tạp. Làm thế nào để tránh khỏi điều này?
Là một nhà phát triển, bạn cần phải hạn chế những thay đổi không cần thiết. Khi bạn tin rằng sự thay đổi là nhu cầu cần thiết thì hãy thực hiện nó.
Nguyên tắc cơ bản rèn luyện tư duy của lập trình viên giỏi mà bạn nên tuân theo: Mục đích chính của bạn là kiểm soát sự phức tạp.
6. Bảo trì
Bảo trì là một trong những nguyên tắc cơ bản quan trọng nhất cho tư duy của lập trình viên giỏi. Thật không may, các nhà phát triển thường bỏ qua tầm quan trọng của nó.
7. Tính nhất quán
Tính nhất quán là tập hợp của phần lớn sự đơn giản. Nếu bạn làm gì đó một cách ở một nơi, hãy làm theo cách đó ở mọi nơi. Mã không nhất quán trở nên khó hiểu hơn.
8. Ưu tiên
Có ba yếu tố quan trọng sẽ giúp bạn đưa ra quyết định về phần mềm tốt hơn:
Tính mong muốn của một thay đổi (D): Bạn muốn thực hiện thay đổi bao nhiêu?
Giá trị của một thay đổi (V): Thay đổi này mang lại bao nhiêu giá trị hoặc điều này giúp ích cho người dùng bao nhiêu?
Nỗ lực cần thiết để thực hiện thay đổi (E): Thay đổi sẽ cần bao nhiêu công việc?
Phương trình rất đơn giản: D=V/E
Khi bạn ưu tiên công việc của mình, bạn nên tuân theo quy tắc này: Những thay đổi sẽ mang lại cho bạn nhiều giá trị và đòi hỏi ít nỗ lực sẽ tốt hơn những thay đổi sẽ mang lại ít giá trị và đòi hỏi nhiều nỗ lực.
9. Giải quyết những vấn đề
Bước đầu tiên là sự hiểu biết. Biết chính xác những gì đang được hỏi.
Bước thứ hai là lập kế hoạch. Hãy cho bộ não của bạn một chút thời gian để phân tích vấn đề và xử lý thông tin nhưng đừng dành quá nhiều thời gian cho việc lập kế hoạch.
Bước thứ ba là phân chia. Đừng cố gắng giải quyết một vấn đề lớn. Tư duy của lập trình viên giỏi là chia nó thành các nhiệm vụ nhỏ hơn và giải quyết từng vấn đề đó.
10. Đủ tốt là “tốt”
Trên thực tế, họ không nhận thức được những gì đang chờ đợi họ và họ sẽ phải trả giá bao nhiêu bằng cách theo đuổi sự hoàn hảo. Đây là cách bạn sẽ sử dụng nó để thiết kế một máy tính:
1. Lập kế hoạch cho một hệ thống chỉ bổ sung và không có gì khác.
2. Thực hiện nó.
3. Cải thiện thiết kế của hệ thống hiện có để bạn có thể thêm các hoạt động khác.
4. Lập kế hoạch trừ và lặp lại bước 2 và 3.
5. Lập kế hoạch nhân và lặp lại bước 2 và 3.
6. Lập kế hoạch phân chia và lặp lại bước 2 và 3.
11. Đừng phỏng đoán
Bạn không thể dự đoán tương lai, vì vậy cho dù giải pháp của bạn có bao quát đến đâu, nó sẽ không đủ để đáp ứng các yêu cầu thực tế trong tương lai. Đừng dự đoán tương lai.
12. Tránh giả định
Một trong những kẻ giết chết một dự án phần mềm là các giả định. Để tránh việc phải cấu trúc lại mã hoặc toàn bộ phần mềm bởi thực tế khác với những giả định, hãy tuân theo quy tắc đơn giản này: Mã phải được thiết kế dựa trên những gì bạn biết bây giờ, không dựa trên những gì bạn nghĩ sẽ xảy ra trong tương lai. - Max Kanat-Alexander.
13. Ngừng phát minh lại
Ví dụ, nếu bạn phát minh ra công cụ gom rác của riêng bạn trong khi đã tồn tại một công cụ gom rác hoàn hảo, bạn có thể sẽ phải dành nhiều thời gian để làm việc này trong khi bạn có thể tạo ra phần mềm khác. Hãy nhớ: Không phát minh lại những thứ đã quá ưu việt và hoàn hảo.
14. Sức cản
Luôn luôn chống lại việc thêm mã, nhiều tính năng hơn cho đến khi bạn tin rằng chúng cần phải thực hiện. Bởi vì những thay đổi không cần thiết sẽ làm tăng lỗi trong phần mềm của bạn.
15. Tự động hóa
Đừng dành thời gian của bạn cho các nhiệm vụ lặp đi lặp lại. Chỉ cần nhớ quy tắc này: Nếu bạn có thể tự động hóa nó, hãy tự động hóa nó.
16. Đo lường mã
Bạn có thể đạt được sự đơn giản với một ít mã có thể giải quyết vấn đề, điều này không có nghĩa rằng mã ít nhất luôn luôn tốt hơn. Mã tối ưu là một bó mã nhỏ dễ hiểu, dễ đọc.
17. Năng suất
Mục tiêu chính của bạn là giữ cho cơ sở mã của bạn càng nhỏ càng tốt chứ không phải là làm thế nào để viết thêm mã. Thay vào đó phải là "Làm thế nào tôi có thể viết mã có năng suất?"
18. Kiểm tra
Khi nào bạn nên kiểm tra cho dự án của bạn? Bạn nên học tư duy của lập trình viên giỏi là thực hiện sớm. Điều này sẽ giúp bạn tìm ra vấn đề dễ dàng và tiết kiệm thời gian của bạn.
Khi bạn gặp lỗi, đầu tiên bạn nên sao chép nó. Bạn không nên đoán nguồn gốc của lỗi và áp dụng các bản sửa lỗi dựa trên giả định của bạn. Rất có thể, bạn sẽ sai. Khi các nhà phát triển khác trong nhóm của bạn thấy rằng bạn đã cam kết mã mới để kiểm soát nguồn, mọi người nên biết rằng mã của bạn đã được kiểm tra và hoạt động.
Mã chưa được kiểm tra là mã không hoạt động.
19. Ước lượng, dự đoán
Thông thường, nhà phát triển đánh giá thấp mọi thứ hơn là đánh giá quá cao chúng. Cuối cùng, sự đánh giá thấp này dẫn đến thiếu sót.
Giải pháp là phá vỡ điều lớn thành những điều nhỏ hơn. Nó càng nhỏ, càng dễ ước tính. Hãy nhớ rằng: Mọi thứ mất nhiều thời gian hơn bạn nghĩ.
20. Hạn chế viết lại
Viết lại mã thường là một ảo tưởng của nhà phát triển, không phải là giải pháp trong hầu hết các trường hợp. Tại sao nó là một ảo tưởng? Bởi vì đọc mã khó hơn viết nó. Đây là lý do tại sao rất khó để sử dụng lại mã. Đây là lời khuyên đơn giản cho bạn: Tái cấu trúc nên là lựa chọn đầu tiên.
21. Tài liệu và bình luận
Khi bạn không thể làm cho mã đơn giản hơn thì bạn nên thêm nhận xét để giải thích sự phức tạp này. Mục đích thực sự của các bình luận là để giải thích "TẠI SAO" bạn đã làm gì đó chứ không phải "CÁI GÌ" mà mã đang làm. Nếu bạn không giải thích điều này, các lập trình viên khác có thể bị nhầm lẫn và khi họ đi thay đổi mã của bạn, họ có thể xóa các phần quan trọng của nó.
Một điều nữa là tài liệu. Điều quan trọng là phải có tài liệu để giải thích kiến trúc phần mềm của bạn và mọi modul là thành phần. Điều này là bắt buộc để xem hình ảnh cấp cao của phần mềm của bạn.
22. Chọn công nghệ (Công cụ, Thư viện, v.v.)
Trước tiên, hãy luôn nhớ quy tắc này: Đừng phụ thuộc vào các công nghệ bên ngoài hoặc giảm sự phụ thuộc của bạn vào chúng càng nhiều càng tốt.
23. Tự phát triển
Hãy tiếp tục học hỏi. Hãy thử các ngôn ngữ và công cụ lập trình khác nhau, đọc sách về phát triển phần mềm. Mỗi ngày những cải tiến nhỏ sẽ tạo ra sự khác biệt thực sự trong kiến thức và kỹ năng của bạn. Hãy biết rằng mọi vấn đề cụ thể đều có giải pháp cụ thể của riêng nó.
24. Đừng là anh hùng
Đừng ngần ngại yêu cầu giúp đỡ. Mỗi khi gặp vấn đề quá khó khăn mà không thể giải quyết, đừng cố ôm vào mình mà hãy nhờ mọi người giải quyết cùng với bạn.
25. Đừng cứ hễ gặp khó khăn là nhờ giúp đỡ ngay
Khi bạn có một cái gì đó không chắc chắn về các giải pháp, đừng hỏi người khác ngay lập tức. Thay vào đó, hãy thử bất cứ điều gì và mọi thứ bạn có thể nghĩ ra. Tìm câu trả lời và thử chúng. Đó là tư duy của lập trình viên giỏi. Khi bạn đã thử mọi cách, và tốt nhất là sau khi bạn có giải pháp làm việc, bây giờ là thời điểm tốt nhất để tìm kiếm lời khuyên.
Trên đây là những nguyên tắc cơ bản rèn luyện tư duy của lập trình viên giỏi khiến các nhà phát triển khắc phục những sai lầm mà bản thân đang gặp phải. Hãy luôn ghi nhớ và rèn luyện chúng mỗi ngày để có thể viết nên các chương trình phần mềm hiệu quả nhé.
Dịch từ: Medium
_____________________
JT1 - IT Recruitment Agency
Website: https://www.jt1.vn
Email: hi@jt1.vn
Điện thoại: +8428 6675 6685
Xem thêm các bài viết khác tại: https://www.jt1.vn/blog
Theo dõi chúng tôi tại: https://www.facebook.com/jt1asia/
Comments