Có rất nhiều thói quen không tốt đang từng ngày, từng giờ khiến cho bạn trở nên chậm chạp và khó phát triển hơn nữa trong nghiệp lập trình. Hãy cùng NhanWeb liệt kê danh sách những thói quen không tốt này và tự đánh giá lại bản thân mình.
Phụ mục
What đờ hợi ! Các người đang làm cái quái gì vậy ?
Mỗi khi tôi mở một dự án không phải do tự tay tôi thực hiện hoặc không có sự can thiệp của tôi ngay từ đầu, cảm giác đầu tiên của tôi là như lạc vào một thế giới hỗn độn, đổ nát và không biết phải bắt đầu dựng nó lại từ đâu. Những đoạn mã này liên quan đến những biến nào ? Những biến nào là toàn cục ? Nó được khai báo ở đâu ? Hàm này được định nghĩa và sử dụng như thế nào … Cảm giác đầu tiên của tôi là choáng ngợp và muốn đóng ngay cái project đó lại. Thà viết mới mới lại 100% còn nhanh hơn….
Tôi biết nhiều lập trình viên khi mở một dự án không phải do mình làm ra thường có cảm giác như tôi. Nhưng việc đầu tiên mà chúng ta nên làm là hít một hơi thật sâu, xoắn tay áo lên và bắt đầu tìm hiểu về dự án này thì tốt hơn là ngồi ca cẩm về nó rồi quyết định dẹp nó qua một bên.
Thời gian đầu phải đọc và nghiên cứu cách viết của một lập trình viên khác có lẽ sẽ khiến cho bạn cảm thấy khó chịu và rối rắm. Nhiều lập trình viên thường bỏ cuộc ở đây và quyết định đầu tư thời gian để làm một dự án mới bởi anh ta cho rằng người đã viết cái dự án này là một người thiếu kinh nghiệm hoặc là một thằng ngu. Rồi bạn không còn cảm thấy bực bội hơn trước những đoạn mã, trước những qui định của anh chàng lập trình viên kia, rồi khi bạn mất kiên nhẫn, bạn sẽ đập bàn chửi đổng : ĐM! Ngu như bò !
– Nhưng một khi bạn đã hiểu được khoảng 50% dự án, đặc biệt là cấu trúc, cách sắp xếp file… bạn sẽ cảm thấy việc tìm hiểu dự án đơn giản hơn nhiều. Bạn sẽ đi từ ngạc nhiên này đến ngạc nhiên khác bởi bạn sẽ học được rất nhiều từ anh chàng lập trình viên kia. Có thể anh ta sẽ phạm một sai lầm nào đó trong quá trình viết mã và bạn là người phát hiện ra. Điều đó dĩ nhiên sẽ tốt cho bạn và bạn sẽ có thêm kinh nghiệm để tránh những trường hợp như vậy.
Hầu hết những kinh nghiệm mà tôi có được có tới thời điểm hiện tại không phải do tôi tự nghiền ngẫm mà ra. Phần đông trong số chúng tôi có được là nhờ chịu khó ngồi đọc mã của người khác và đọc từ những mã nguồn mở phổ biến như WordPress, Joomla, phpBB, vBullentin… Tôi hi vọng bạn cũng làm như tôi và bạn sẽ thấy kĩ năng code của bạn thay đổi rất nhiểu.
Bạn có thể làm tốt hơn, baby !
Yeah! Bằng cách sử dụng những gì tôi đã đọc được từ những đoạn mã của người khác cộng với một chút tư duy tôi đã có thể làm tốt hơn những đoạn mã anh ấy đã viết. Điều đầu tiên đối với bản thân tôi là tôi đã nâng được kiến thức của mình lên một tầm mới; ít nhất ở một khía cạnh nào đó tôi đã bằng hoặc hơn anh chàng lập trình viên đã viết nên những đoạn mã kia. Và cứ như thế, tôi đi tìm những chân trời mới cao hơn để học tập và nâng cao kĩ năng của mình.
Bạn chưa bao giờ đưa ra một kế hoạch làm việc cụ thể ?
Trước khi bạn bắt tay code những dòng đầu tiên, bạn phải định hình và suy nghĩ cho kế hoạch lớn của mình và chuẩn bị việc mô tả một cách đầy đủ cho từng file, thậm chí là từng dòng mã bạn sẽ viết. Với một dự án ở tầm nhỏ chúng ta cần ít vài ba chục file chứa mã, một dự án ở tầm trung cần vài ba trăm file và một dự án ở tầm lớn cần vài ba ngàn file là chuyện bình thường. Việc lên một kế hoạch đầy đủ, chuẩn bị mô tả rõ ràng sẽ giúp cho công việc của bạn tiến hành trôi chảy hơn và bạn tránh được rất nhiều lỗi không đáng có như trùng file, trùng biến, khai báo hàm trùng chức năng ….
Một khi bắt đầu tạo một file mới để code, hãy bắt đầu file đó bằng những mô tả như sau:
[code lang=”php”] <?php// Include necessary data
// Initialize the database connection
// Include the common header markup
// Determine the page variables from the POST data
// Load the proper database info using the page vairiables
// Loop through the loaded rows
// Format the images for display
// Create a permalink
// Format the entry for display
// Add the formatted entry to the entry array
// Collapse the entry array into page-ready markup
// Output the entries
// Include the common footer markup
[/code]
Như bạn đã thấy, sau khi lên kế hoạch viết mã, mặc dù chưa cần viết một dòng mã nào tôi cũng có thể biết chính xác nội dung file này sẽ như thế nào và nó làm những chức năng gì một cách chính xác. Việc này cũng góp phần giúp tôi khi viết mã không bị thừa hoặc thiếu các tính năng cần thiết. Mỗi khi suy nghĩ hoặc cần phải tinh chính lại tính năng cho phù hợp với nội dung mới tôi nhất thiết cần phải thay đổi lại những ghi chú của mình. Làm như vậy, mỗi khi tôi mở lại file này tôi có thể nhớ được đích xác những việc tôi đã làm cũng như một anh chàng lập trình viên khác cũng sẽ dễ dàng đọc được mã của tôi hơn.
Tôi biết việc này sẽ mất thời gian và rất khó thay đổi thói quen của nhiều bạn nhưng nếu bạn đã quen thì bạn sẽ thấy yêu thích việc lên kế hoạch viết như thế này. Nó sẽ khiến cho đầu óc bạn không phải bận rộn suy nghĩ bạn đang quên hay thiếu thứ gì, những hành động nào cần phải làm và thậm chí theo tôi nó giúp tiết kiện thời gian viết code của tôi rất nhiều.
Bạn không bao giờ comment lại
Đây là một thói quen xấu rất phổ biến vì chúng ta thường nghĩ đoạn mã này do chúng ta viết và chúng ta rất hiểu về nó. Nhưng tôi cá với bạn là nếu bạn mở một dự án cũ cách đây khoảng 3 tháng hoặc thậm chí là 2 tuần thì ngay cả chính bản thân bạn cũng sẽ có nhiều chỗ không nhớ được mình viết đoạn mã đó để làm gì hoặc nó có tác dụng gì khi làm như vậy.
Chúng ta vẫn thường làm thế này
[code lang=”php”] $pieces = explode(‘.’, $image_name);$extension = array_pop($pieces);
[/code]
Bạn đọc đoạn mã trên, bạn mất bao lâu để biết được biến $extension chứa gì trong đó ?
Thay vì như vậy, hãy thêm một vài ghi chú vào để giúp bạn sau này:
[code lang=”php”]
// Lấy phần mở rộng từ tên file
$pieces = explode(‘.’, $image_name);
$extension = array_pop($pieces);
[/code]
Với mỗi 5 giây cho một lần thêm những ghi chú cần thiết vào mã bạn sẽ tiết kiệm được rất nhiều thời gian cho sau này và giúp cho đoạn mã của bạn sáng sủa hơn với bạn và những người đọc được mã của bạn. Vì vậy, hãy làm ơn ghi chú rõ ràng nhé mấy thằng quỉ sứ !
(Còn tiếp)