Tag Archives: top blog

Lập trình viên chuyên nghiệp, bắt đầu từ đâu?


2014-09-17 18.57.122014-09-17 18.57.47

Danh sách TỐI THIỂU mà mọi chuyên gia phần mềm nên thông thuộc:

  • Design patterns: Bạn PHẢI miêu tả được tất cả 24 pattern trong cuốn sách của GOF  và có kinh nghiệm thực tế với rất nhiều pattern khác trong các cuốn sách POSA (?).

  • Design principles: Bạn NÊN biết về các nguyên lý SOLID và hiểu biết kĩ các nguyên lý thành phần khác.

  • Methods: Bạn NÊN hiểu : XP, Scrum, Lean, Kanban, Waterfall, Structured Analysis và Structured Design.

  • Disciplines: Bạn NÊN code được : TDD, Object Oriented design, Structured Programming, Continous Integration, và Pair Programming.

  • Artifacts: Bạn NÊN biết cách dùng: UML, DFDs, Structure Chát, Petri Nét, State Transition Diagrams and Tables, flow charts, and decision tables.

(Trích Chương 1: professionalism , The Clean Coder – A code of conduct for professional programmers , Robert C. Martin)

Advertisements

Cách thực hành Test-Driven Development (TDD) – JamesShore


Test-Driven Development Bài dịch từ: http://www.jamesshore.com/Agile-Book/test_driven_development.html

TDD giúp chúng ta viết ra những đoạn code tốt được thiết kế tốt và được test cẩn thận thông qua nhiều bước nhỏ nhưng chắc chắn.

“Điều mà các ngôn ngữ lập trình thực sự cần là hướng dẫn sử dụng: “Do what I mean” – một câu nói đùa trong giới lập trình. “Làm điều mà ý tôi nói thế chứ đừng có làm điều tôi nói”. Lập trình đòi hỏi rất khắt khe. Nó yêu cầu sự hoàn hảo, bền vững, cần nhiều tháng, nhiều năm cố gắng. Tuyệt vời nhất, những lỗi trong lập trình làm cho code không thể compile. Tệ nhất, chúng tạo nên những bug mà âm thầm chờ đợi đến đúng thời điểm và tạo ra những thiệt hại ghê gớm nhất.

Con người chẳng bao giờ hoàn hảo.  Vì vậy, các phần mềm luôn luôn có lỗi.

Thật là tuyệt nếu mà có 1 công cụ nào đó có thể báo cho bạn biết những lỗi lập trình của bạn ngay lập tức khi bạn vừa tạo ra nó  . Một công cụ tuyệt vời đén mức mà giúp chúng ta gần như không cần phải debug nữa?

Thực sự thì có một công cụ như vậy, hoặc nói cách khác, một kỹ thuật. Đó là “dùng test để lèo lái việc phát triển phần mềm” – Test-Driven Development (TDD). TDD thực sự giúp chúng ta đáp ứng được những đòi hỏi khắt khe của lập trình ở trên. Continue reading Cách thực hành Test-Driven Development (TDD) – JamesShore