Điều gì khiến bạn là 1 coder tồi ?

Điều gì khiến bạn là 1 coder tồi ?

Tất cả chúng ta đều có những thói quen xấu, chúng ta sẽ tìm hiểu , cùng nhau kiểm tra, đánh giá lại và sửa ngay lập tức !

Bạn hok có kế hoạch trước khi bắt đầu code
Trước khi bạn bắt đầu code, bạn cần phải có 1 chiến lược . Điều này sẽ giúp bạn theo dõi được code, và tránh việc không hiểu code sẽ khiến bạn nhức đầu, ấy là chưa màn đến những linh hồn tội nghiệp khác đọc code của bạn =]]]

Một cách để khắc phục điều này là viết một đoạn phác thảo các chức năng của đoạn script bằng cách comment ở đầu file

Ví dụ :

PHP Code:
<?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

Như bạn thấy, mặc dù chưa viết dòng code nào, chúng ta đã biết file này sẽ làm gì và nó sẽ như thế nào !! Và khi 1 chức năng nữa được thêm vào, bạn chỉ cần sửa comment ở trên .

Chúng ta cần phải thay đổi cách tiếp cận, nó sẽ giúp kĩ năng tổ chức code tốt hơn

Lưu ý : Đoạn comments trên chỉ là ví dụ . Một vài comments trên có thể hok cần thiết, 1 vài sẽ bị thay đổi, và 1 vài comments có các chức năng khác có thể sẽ được thêm vào file nữa .

Bạn không comment gì cả

Vấn đề tồi tệ nhất là khi chúng ta code, chúng ta không comment đầy đủ, hoặc thậm chí không comment .

Khi chúng ta cần phải chỉnh sửa code, có thể sẽ gây hỏng cả ứng dụng .

Quá trình comment code sẽ diễn ra trong khoảng từ 10 phút tới 6 giờ !

Ví dụ :

PHP Code:
 $pieces = explode('.', $image_name);
$extension = array_pop($pieces);

Đoạn code trên để làm gì ? Có phải bạn đang suy nghĩ để hiểu có nhiệm vụ gì ? Bạn vẫn đang hiểu 1 cách hok chắc chắn $extension sẽ chứa gì ?

Vậy chúng ta thử comment :

PHP Code:
// Lấy ra định dạng của hỉnh ảnh
$pieces = explode('.', $image_name);
$extension = array_pop($pieces);

Bây giờ thì không cần phải suy nghĩ gì cả : bạn nhìn comments, bạn nhìn tiếp code và hiểu ngay đoạn code có ý nghĩa gì !

Comment như trên có thể chỉ giúp bạn tiết kiệm thời gian 5 giây nhưng nếu trong 1 ứng dụng lớn, đó sẽ là 1 vấn đề !

Vậy, bây giờ hãy tập viết comment trước khi code đi nhé !!!

Bạn hi sinh sự rõ ràng để đổi lấy sự ngắn gọn

Một vài ví dụ điển hình cho việc hi sinh này là khi bạn dùng các biến với tên hok rõ ràng ( như là $a — vậy $a chứa gì ? ) hay bỏ qua ngoặc cong { } .

PHP Code:
<?php$foo = 8;if( $foo<10 )
if( $foo>5 )
echo “Lớn hơn 5!”;
else
echo “Nhỏ hơn 5!”;
else
echo “Lớn hơn 10!”;
echo “<br />Another note.”;

Với cái nhìn đầu tiên, bạn sẽ nghĩ dòng cuối cùng sẽ xuất ra nếu $foo lớn hơn 10 ! Nhưng bởi vì dòng else và if nếu hok có ngoặc cong thì chỉ ảnh hưởng tới dòng ngay sau nó, nên “Another note” sẽ bị bỏ qua .

Bạn có thể nhìn ra điều đó chỉ trong vài giây ? Tất nhiên là được

Nhưng chúng ta có nên lãng phí năng lượng để làm điều đó ? Hoàn toàn không

Thêm ngoặc cong vào chỉ làm code bạn tăng 1 vài dòng, nhưng nó sẽ giúp code rõ ràng hơn nhiều

PHP Code:
<?php$foo = 8;if( $foo<10 )
{
if( $foo>5 )
{
echo “Lớn hơn 5 5!”;
}
else
{
echo “Nhỏ hơn 5!”;
}
}
else
{
echo “Lớn hơn 10!”;
}
echo “<br />Another note.”;

Vậy hãy cố gắng code thật rõ ràng, chỉ với vài dòng code bạn sẽ giúp ng khác không phải căng não ra để hiểu bạn đang code gì .

Bạn hok theo 1 chuẩn code nào cả

Viết code theo cách của bạn sẽ giúp bạn thỏa mãn, thấy dễ chịu nhưng đối với người khác thì hoàn toàn không .

Vì vậy, hãy viết code theo 1 chuẩn và duy trì điều đó !! Mọi ng sẽ cảm ơn bạn ! ( Có thể bao gồm cả bạn đấy )

Bạn lặp lại code

Khi bạn quan sát code của bạn, nếu bạn gặp lỗi , hãy tự hỏi , mình có cần phải sửa nhiều hơn 1 file ? Nếu bạn trả lời có, đã đến lúc nhìn lại cách bạn code !!!

Nếu bạn có nhiều đoạn code cùng chức năng , bạn đang làm sai đấy !

Bạn không theo 1 mô hình nào cả

Code của bạn cần phải có 1 mô hình .Tôi không ngụ ý bạn nên dùng mô hình MVC hay đại loại vậy. Ý tôi là bạn cần phải biết cách phân loại các thành phần, nội dung , v.v và những thành phần, nội dung ấy sẽ làm gì

Khi bạn code theo 1 mô hình, nhiều quyết định sẽ trở nên tự động hóa, và khi 1 người nào đó xem code bạn, họ sẽ hok phải đoán nhiều khi tìm kiếm 1 chức năng nào đó ….
Làm điều này sẽ hok mất nhiều thời gian, nhưng sẽ giúp bạn rất nhiều đấy !

Vậy bạn hãy cố gắng code theo 1 mô hình nhé !!!!

Bạn quá thông minh cho các sản phẩm của bạn

Có 1 tí vấn đề về giải pháp đơn giản và giải pháp phức tạp

Chúng ta không cần 1 cách tiếp cận phức tạp với những vấn đề đơn giản !!!

Với 1 level cơ bản, giải pháp đơn giản luôn được mong đợi . Bạn đang đi từ điểm A đến điểm B, bạn đi đường vòng qua điểm C sẽ thú vị hơn, nhưng chẳng giúp ích được gì cả @@

Với 1 câu trả lời phức tạp, bạn sẽ khiến người khác không hiểu, không phải là vì ng khác hok thông minh như bạn, bởi có thể bạn học được từ 1 bài báo mà họ chưa đọc qua, và vì thế sẽ dẫn đến hiểu sai hoặc hok hiểu .

Đừng làm giảm giá trị của mình, nhưng cũng nhớ tránh những cách tiếp cận cực kì phức tạp với những vấn đề đơn giản nhé !

Bên cạnh đó, bạn hok nên code theo kiểu tự cho mình là 1 chuyên gia !! Với 1 triết lí đại loại là : nếu bạn hok hiểu code mình, tốt nhất đừng nên đọc nó .

Đây là 1 cách tiếp cận anti cộng đồng, và hok có tính xây dựng, hướng dẫn . Và 1 lập trình viên như vậy sẽ hok có sự giúp đỡ của mọi ng khi anh ta gặp vấn đề với code .
Vì vậy, tránh việc tạo code khó hiểu dưới mọi hình thức nhé . Điều đó sẽ hok khiến bạn thông minh hơn hay nhận được nhiều sự tôn trọng hơn đâu .

Không cập nhật kiến thức

Bên cạnh việc lười biếng comment, viết code khó hiểu, v.v ở trên thì việc hok cập nhật kiến thức cũng khiến bạn trở thành 1 coder tồi .

Công nghệ phát triển lien tục, công nghệ mới ra đời để giải quyết những vấn đề đang tồn đọng, nếu bạn chọn cách đứng yên không chịu tiến bộ thì thật là sai lầm trầm trọng .

Dưới đây là những vấn đề khác bạn nên tham khảo

Bạn cố gắng làm tất cả
Bạn không thể theo kịp cả cộng đồng . Nhưng thật may mắn, có 1 số người dành thời gian của họ để cập nhật công nghệ mới, và viết tutorial về những gì họ học được . Nếu bạn tìm được trong những người này 1 người có cách tiếp cận và phong cách viết code giống bạn , bạn có thể học hỏi họ .

Việc theo dõi bài viết của vài người hợp với bạn sẽ tốt hơn nhiều so với theo dõi mỗi blog công nghệ bạn ghé qua với 1 vài lí do sau :

  • Nếu bạn tin tưởng ý kiến của họ, họ sẽ giúp bạn học hỏi công nghệ
  • Nếu 1 công nghệ xuất hiện nhiều lần trên các blog này, bạn hãy dành thời gian nắm bắt nó, vì nó sẽ là công nghệ phổ biến sau này
  • Những tutorial của blog sẽ giúp bạn tiết kiệm rất nhiều thời gian khi phải bắt đầu từ con số 0

Bạn không dám đối mặt với thử thách

Nếu bạn không dám đối mặt với thử thách, thì bạn có vấn đề rồi đấy .

Hãy tìm 1 vài thử thách trong dự án bạn đang làm !

Tự hỏi bạn các câu sau khi đang xem dự án :

  • Có công nghệ mới nào gây thích thú với mình được ứng dụng ở đây ?
  • Mình đã học thêm được 1 công nghệ mới nào kể từ lần cuối cùng mình xem 1 dự án như thế này ?
  • Đâu là cách thực hiện tốt nhất để tôi có thể đảm bảo rằng tôi sẽ theo đuổi tới cùng project này ?

Lưu ý: tôi không nói về việc làm 1 cái gì đó rất phức tạp ở đây, có thể đơn giản chỉ là thêm Docblocks vào objects ….

Hãy cố không tự thuyết phục bản thân rằng mình đã học những gì cần học nhé !

Bạn hok chia sẻ
Hãy cải thiện bằng cách trao đổi, thảo luận với các đồng nghiệp coders nhé . Để làm được điều này có nhiều cách : Nếu bạn hiểu rõ 1 vấn đề nào đó, hãy viết tutorial về nó và cung cấp mã nguồn . Nếu bạn hok thích như thế, bạn có thể lướt qua vài diễn đàn và giúp đỡ những người mới .

Bạn sẽ hỏi : “Tại sao giúp đỡ những người mới sẽ giúp tôi tiến bộ ? “

Thông thường, nếu bạn post 1 giải pháp cần được tối ưu , sẽ có những lập trình viên chuyên nghiệp giúp đỡ bạn . Vậy chia sẻ là 1 mũi tên trúng 2 con nhạn : bạn không chỉ giúp đỡ người khác tiến bộ, mà các kĩ năng của bạn sẽ sắc bén hơn với sự trợ giúp của những cao thủ !

Bạn hok có những dự án thử nghiệm
Nếu chúng ta muốn tham gia vào 1 dự án lớn và hoành tráng, cách tốt nhất là chúng ta hãy thử sức với những dự án thử nghiệm trước với các công nghệ đã biết .
Với phương pháp đó, chúng ta sẽ tiến bộ hơn, và không bao giờ trễ deadline hay làm sai cả .

Chúng ta đều có tội
Theo logic, nếu chung ta tiến bộ vào thời điểm bây giờ, tức là trong quá khứ chúng ta đã rất tồi .
Tôi biết là khi tôi nhìn lại những đoạn code tôi viết trong quá khứ, tôi sẽ cảm thấy kinh hoàng !

Vì vậy….hãy dừng lại
Chúng ta đều không hoàn hảo . Nhưng chúng ta có thể làm mọi thứ với năng lực của mình để càng gần đích chúng ta muốn càng tốt …………….

NGUỒN : dịch có tóm tắt, lược bỏ từ http://net.tutsplus.com/tutorials/ph…hp-programmer/

Advertisements

Trả lời

Mời bạn điền thông tin vào ô dưới đây hoặc kích vào một biểu tượng để đăng nhập:

WordPress.com Logo

Bạn đang bình luận bằng tài khoản WordPress.com Đăng xuất / Thay đổi )

Twitter picture

Bạn đang bình luận bằng tài khoản Twitter Đăng xuất / Thay đổi )

Facebook photo

Bạn đang bình luận bằng tài khoản Facebook Đăng xuất / Thay đổi )

Google+ photo

Bạn đang bình luận bằng tài khoản Google+ Đăng xuất / Thay đổi )

Connecting to %s