Lập trình PHP – cái nhìn của kẻ nghiệp dư

Mặc dù được đào tạo về PHP nhưng tôi không phải lập trình viên chuyên nghiệp. Tuy nhiên một số dự án buộc phải dùng đến code đã đem lại một số kinh nghiệm tôi muốn kể lại cho các bạn – đây cũng đồng thời là cách để chính tôi sáng rõ hơn.

A. Rõ ràng nhất có thể về cái cần giải quyết

Khi chúng ta code có nghĩa là để giải quyết một vấn đề nào đó. Đó có thể là một trò chơi hay ứng dụng web giúp đỡ mọi người tìm cây ATM gần nhất. Dù là cái gì, chúng ta phải rõ mình code cho mục đích gì.

Tất nhiên chúng ta không mộng tưởng rằng, các yêu cầu sẽ được sáng rõ hết từ đầu. Và rằng chúng ta có một con đường thẳng tắp và cứ thế theo lộ trình từ A đến Z.

Thực tế không bao giờ như vậy.

Trên con đường chúng ta sẽ thấy nhiều vấn đề mới cần giải quyết. Ví dụ:

  • Một giải pháp hiệu quả hơn giải pháp được đề ra trước đó. Nó nhanh hơn, chính xác hơn, ngắn gọn hơn, tiết kiệm hơn…
  • Một tính năng mới chưa hề được đề cập trước đó.
  • Một tính năng ngớ ngẩn, vô bổ tưởng rất hay nhưng lại được nhận ra là nên bỏ đi.

Cho dù vậy, tại sao chúng ta nên sáng rõ ngay từ đầu con đường mà mình định đi?

Đó là vì:

  • Bạn sẽ không phải làm lại quá nhiều. Trong một hệ thống tổng thể, các đối tượng liên quan chặt chẽ với nhau, nếu chúng ta liên tục thay đổi các tính năng. Thường thì nó sẽ không chỉ gây phiền toái cho tính năng đó thôi, mà sẽ gây ảnh hưởng ít nhiều đến toàn bộ hệ thống.
  • Hệ quả của việc trên là chúng ta tiết kiệm cả về chi phí lao động lẫn thời gian hoàn thành sản phẩm, mà thời gian hoàn thành – chỉ bản thân nó thôi cũng là cái rất quan trọng, nhất là với các dự án cần triển khai trong thời gian ngắn.

B. Không nghĩ lại những dòng code đẹp siêu hạng

Tư duy quan trọng hơn mã lệnh, đó là nguyên nhân tôi thấy mình đều đạt trình độ khá khi lập trình các ngôn ngữ mình được học.

Chúng ta thường được nhắc nhở không nên lặp lại những điều ngu ngốc, nhưng lần này tôi muốn nói điều mà câu cú có vẻ ngược lại:

Chúng ta cần lặp lại những điều thông minh.

Nếu từng lập trình bạn đều nhận thấy, thi thoảng chúng ta có một thoáng loé sáng bất ngờ giải quyết những vấn đề vô cùng hóc búa.

Nó chẳng phải vì chúng ta thông mình đột xuất mà đến từ sự nghiền ngẫm hàng tiếng hoặc có khi vài ngày mới có được.

Vậy tại sao chúng ta không lưu giữ lại khoảng khắc đó. Ý tôi là bạn cần lưu giữ những đoạn code xuất sắc. Thậm chí là nên mô hình hoá nó, để nó được lặp lại một cách chủ động trong bất cứ dự án nào mà bạn muốn.

Hãy xây dựng các hàm tuyệt vời và sử dụng lại nó.

Cần làm điều tương tự với cả HTML và CSS. Bạn không cần thiết phải gõ đi gõ lại một thứ hoặc vài thứ gần giống nhau.

C. Tung ra sản phẩm và đừng ngại chỉ trích

Tất nhiên đừng làm ra sản phẩm dở tệ rồi tung ra, bạn sẽ khốn khổ mà thôi. Nhưng đợi sản phẩm hoàn hảo ư? Không bao giờ có điều đó đâu.

Triết học có ích ở đây: mọi thứ đều vận động, và bạn sẽ luôn phải thay đổi để có sản phẩm tốt, rất tốt nhưng không bao giờ là hoàn hảo.

Có những thứ, chẳng hạn như tính năng mới chỉ được khám phá ra khi bạn tung ra sản phẩm.

Có những góp ý quý như vàng từ khách hàng. Bạn không là Thánh, bạn không thể tưởng tượng hết các tình huống, nhưng người dùng thì có thể ở bất cứ tình huống nào và họ sẽ giúp ích cho bạn.

Tôi đã bị ăn mắng vài lần từ khách hàng, nhưng nếu tôi không tung ra, tôi sẽ trì hoãn không biết đến bao giờ về nỗi sợ hãi của hoàn chỉnh. Hãy chấp nhận lỗi và sửa với tâm thế cầu tiến. Bạn sẽ hạnh phúc thay vì sợ hãi khi được khách hàng mắng!