IT Staff

Blog về chuyên ngành IT

Một vài sự thật ít được biết đến về nghề lập trình

leave a comment »

by Xavier Nguyen on Friday, August 27, 2010 at 3:08am

/*

*

* Nguồn: DOT MAC

*

*/

 

Bởi David Veksler | 17/08/2010

 

Kinh nghiệm của tôi giống như bao lập trình viên – đã dạy cho tôi một vài điều về việc viết phần mềm. Sau đây là những thứ có thể làm cho người ta ngạc nhiên về viết mã lệnh:

 

  • Một lập trình viên mất khoảng 10-20% thời gian cho việc viết mã lệnh, và nếu không quan tâm đến trình độ của các lập trình viên thì hầu hết họ đều viết khoảng 10-12 dòng lệnh mỗi ngày để đi đến sản phẩm cuối. Những lập trình viên giỏi đều tốn 90% cho việc suy nghĩ, nghiên cứu, và sử dụng kinh nghiệm cho việc tạo ra bản thiết kế tốt nhất. Những lập trình viên tồi sẽ phải mất 90% cho việc sửa lỗi mã lệnh bằng việc thay đổi một cách ngẫu nhiên và họ sẽ tìm thấy lỗi nếu việc thay đổi có tác dụng.

“Mức lương của một người thợ máy xuất sắc chỉ cao hơn vài lần so với mức lương của người thợ máy trung bình, nhưng một người viết phần mềm xuất sắc thì đáng giá gấp mười ngàn lần giá phải trả cho một người viết phần mềm hạng trung bình.” – Bill Gates

  • Một lập trình viên giỏi sẽ có năng xuất cao gấp 10 lần so với lập trình viên trung bình. Một lập trình viên xuất sắc có năng xuất sẽ gấp 20-100 lần so với năng xuất của người trung bình. Đây hoàn toàn không phải là sự phóng đại – từ những năm 1960 đã có những sự nghiên cứu khẳng định về điều này. Một lập trình viên tồi không chỉ không có năng lực sản xuất – anh ta không chỉ không hoàn thành công việc mà còn tạo ra hàng đống công việc thật đau đầu để cho người khác sửa lỗi.
  • Những lập trình viên xuất sắc thường tốn rất ít thời gian để viết mã lệnh – hoặc chỉ viết ít nhất khi mà dự án sắp hoàn thành. Còn những lập trình viên hay dành nhiều thời gian để viết mã lệnh thì thường rất là lười, kém hiểu biết, hoặc quá ngạo mạn để giải quyết những vấn đề cũ bằng những cách đã làm qua. Người lập trình viên xuất sắc luôn am hiểu và rất giỏi để nhận ra và tái sử dụng lại các mô hình chung. Những lập trình viên giỏi không sợ tái cấu trúc (viết lại) mã lệnh của họ để đạt được thiết kế như mong muốn. Những lập trình viên tồi viết mã lệnh thường thiếu tính nhất quán, không kế thừa, không thứ tự, không mô hình, và rất khó để tái cấu trúc. Thật dễ dàng để ném đi mã lệnh tồi và bắt đầu lại thì tốt hơn là sửa đổi nó.
  • Phần mềm giống như mọi thứ khác đều tuân theo quy luật Entropy. Thay đổi liên tục sẽ dẫn đến phần mềm hỏng, nó làm xóa đi tính nhất quán của bản thiết kế ban đầu. Phần mềm hỏng là điều không thể tránh khỏi, nhưng nếu những lập trình viên càng viết phần mềm theo lối không tuân theo tính nhất quán thì sẽ làm cho nó càng bị hỏng nhanh hơn và thậm chí sẽ mất giá trịtrước khi nó được hoàn thành. Việc hiểu sai về tinh nhất quán có thể là nguyên nhân phổ biến dẫn đến sự thất bại của dự án phần mềm.  (Lý do phổ biến thứ hai đó là việc giao cho khách hàng những thứ mà không đúng như ý muốn của họ.)  Phần mềm hỏng sẽ làm tiến trình chậm một cách theo bậc số mũ, vì vậy mà nhiều dự án phải đối diện với việc mở rộng thời gian dự án và mở hầu bao ra trước khi chúng bị kết liễu.
  • Một nghiên cứu năm 2004 cho thấy rằng hầu hết các dự án phần mềm (51%) sẽ gặp thất bại khi vào giai đoạn cấp bách, và 15% thất bại hoàn toàn. Có sự cải thiện so với từ năm 1994, tỉ lệ thất bại là 31%.
  • Mặc dù hầu hết các phần mềm đều được tạo bới nhóm các thành viên, nó không phải là một hoạt động ngang bằng. Thông thường chỉ một người chịu trách nhiệm thiết kế, và đưa cho những người còn lại điền chi tiết vào đó.
  • Việc lập trình là một công việc khó. Nó là một hoạt động trí óc dữ dội. Những lập trình viên giỏi luôn suy nghĩ 24/7 về công việc của họ. Họ viết những mã lệnh quan trọng trong nhà tắm và trong cả giấc mơ. Bởi vì hầu hết những công việc quan trọng đều được hoàn tất không phải trên bàn phím, những dự án phần mềm không thể tăng tốc khi phải tốn nhiều thời gian trong văn phòng hoặc thêm nhiều người vào một dự án.

 

/*

*

* Nguồn: DOT MAC

*

*/

· · Share · Delete

Written by Xavier

Tháng Một 24, 2011 lúc 6:20 chiều

Gửi phản hồ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 Log Out / Thay đổi )

Twitter picture

Bạn đang bình luận bằng tài khoản Twitter Log Out / Thay đổi )

Facebook photo

Bạn đang bình luận bằng tài khoản Facebook Log Out / Thay đổi )

Google+ photo

Bạn đang bình luận bằng tài khoản Google+ Log Out / Thay đổi )

Connecting to %s

%d bloggers like this: