Tản mạn đầu năm: chất lượng sourcecode

Vậy là cuối cùng cái năm 2016 đáng ghét cuối cùng đã qua rồi, nhìn lại 1 năm ăn hại với vô số đóng code lổn nhổn được đẻ ra lại làm mình đau long thương xót. Ngẫm lại bản thân cứ mỗi năm qua đi lại cho ra được hang tram hang ngàn những đứa con tinh thần kiểu này thì chắc cái công nuôi chúng nó cũng chết mất :v Hãy hình dung xem với tốc độ đẻ code như chuột này thì chẳng may Việt Nam có thể sánh ngang cùng các cường quốc năm châu về gia công :v ai cũng có cơm ăn áo mặc ai cũng được học hành. Tất cả điều đó phụ thuộc vào công học tập của các cháu :v

5dieubachodaythieunhi

Ý của mình nói đến đó là chất lượng sourcecode, chất lượng sourcecode và chỉ có là chất lượng sourcecode. Không hiểu là vô tình hay cố ý mà những sourcecode mình được kinh quá đều có chất lượng quá tệ  😦 Đúng nghĩa badcode luôn :v

Ở đây mình cũng chả có ý gì chê bai hay chỉ trích ai cả vì thực ra chưa chắc code của mình không lởm tuy nhiên giống như mấy lão BLV thể thao thôi, không đá được nhưng vẫn có quyền bình luận chứ :v

Mục đích trong bài viết này của mình là hướng tới việc nâng cao chất lượng sourcecode của cộng đồng trong năm 2017 và các năm sau nữa :)). Nghe qua cái chữ cộng đồng thì thấy nó thật là lớn lao, thôi thì cứ phấn đấu bản thân trước đã rồi cộng động ta tính sau :v `à mà thực ra trước đấy mình cũng có 1 số bài viết về vấn đề này rồi anh em xem lại nhé

Tản mạn – Những lời nói dối ngọt ngào

Tứ đại kì thư

Nói về cái sự nghiệp code cỏ thì mình đã cùng nó gắn bó 5 năm , một thời gian có thể xem như chả dài cũng chả ngắn. Nhìn lại chặng đường đã đi thật tình đã sản sinh không biết bao nhiêu lầm lỗi trong các dự án trải quả :v  Do tại hạ cảm thấy áy náy vô cùng nên muốn các lớp hậu sinh có thể lắng nghe được tấm chân tình của tại hạ để có thể phát quang võ công trong giới danh mông chính phái ngày càng hung mạnh hơn.

Còn dưới đây chính là những điều mà tại hạ đã đúc kết từ bản thân lẫn copy trên mạng :v Mời anh em ngự lãm

Tối ưu khả năng đọc hiểu của sourcecode (Readability)

Mk cái này mình nghĩ nó phải gọi là tối quan trọng luôn. Anh em thâm tâm khi viết hãy tự vấn trái tim mình rằng các của nợ mình viết có cái nghĩa gì không nhé. Cái đặt tên biến, tên hàm nó quan trọng lắm đấy. Làm ơn viết dễ hiểu, dễ đọc cái cho các huynh đệ sau này vào tiếp nhận nó đỡ khổ cái. Có mấy cái biến mà tối ngày cứ int a, string z… thì thằng nào nó biết cơ chứ. Nguyên nhân chủ yêu gây hao tổn thời gian và trí lực ấy chủ yếu đến từ cái việc phải dành một đống nguồn lực để ngồi lại đọc xem mấy bố viết cái gì rồi mới lao vào sửa hay tối ưu được :v. NHỚ NHÉ :3

readability-tests

Kiến trúc, kiến trúc và kiến trúc

Cách đây cả ngàn năm có quá nhiều các trang nam tử lao vào luyện công luyện quên ngày tháng mà bỏ qua căn bản của võ công còn giờ thì có 500 anh em chỉ ngồi mà đẻ ra hàng vạn chức năng mà bỏ qua một thứ tối cường trong võ học đó là kiến trúc. Và vấn đề chính là ở đây đấy haizz 90% những cái gì đến với dự án cũng chỉ vì mấy thứ này thôi.

Cái việc cắm đầu vào code không suy nghĩ hậu họa giống như giấc mộng xưng bá võ lâm của Hùng Bá, muốn làm bá chủ nhưng chả có kế hoạch gì cho việc làm thế nào để đạt được ngoại trừ đi giết 2 thằng Phong và Vân :v

phong-van-1

Tốt nhất thì trước khi viết, anh em nên nghĩ là nó sẽ làm cái gì, cách làm ra sao, nó được sử dụng để làm gì, cấu trúc của nó thế nào, cách nó được test rồi debug cũng như cập nhật sau này.

Kiểm thử, kiểm thử và kiểm thử

Testing mang lại rất rất nhiều điều mà anh em coder không thể ngờ tới được. Nó giúp chúng ta nâng cao hiệu quả cũng như chất lượng sourcecode lên rất nhiều lần. Chính vì thế hãy dành nhiều thời gian cho việc này hơn nhé :v

Tuy vậy anh em cũng nên lưu ý rằng code với đống test lởm nó còn nguy hiểm hơn việc viết code không test. :v

cowboy

KISS (Keep It Simple, Stupid)

Một trong những thứ quan trọng để cải tiến chất lượng sourcecode đó là không viết code phức tạp. Càng đơn giản thì càng dễ sửa có thể thôi. Đừng có viết hang tấn code với hang đống thứ abstract, interface Hãy cố gắng giữ mọi thứ thật đơn giản, đồ ngốc

Comment

Ôi giời ơi, nói về cái của nợ này cũng mệt lắm cơ K Anh em đọc cái đầu tiên mình nói rồi đấy. Hãy cố viết code thật dễ hiểu, càng dể hiểu dễ đọc thì chả phải comment làm gì đâu. Comment là 1 minh chứng rõ rang cho badcode. Đọc chả ai hiểu gì mới phải comment giải thích mà :v Nói thế thôi chứ comment cũng có quan trọng vì có thể tiết kiệm thời gian cho anh em mới tham gia dự án. Tuy nhiên thì cũng hãy KISS đừng viết comment cho những thứ mà ai cũng hiểu được nhé

screen-shot-2015-01-11-at-3-19-46-pm

Review code

Việc reviewcode nó cũng có cái hay và có cái dở. Nếu tất cả an hem trong team đều có thể hiểu được đến 90% code cũng như kiểm soát  được những thay đổi thì hãy tổ chức review. Nếu không thì nó chỉ làm tốn thời gian và ai cũng ghét nó ví dụ như mình đây chứ đâu =)) Ngồi xem reviewcode cứ như là ngồi rà lỗi chính tả =)) quay đi chỉ có try catch với hardcode :v

code-review

Không tiến hành refactor

Trong những năm tháng dài đã qua thì cái cụm từ “Đừng lắng lo nữa cái này sẽ tối ưu sau” Kết cục thì chắc chả cần phải nói nữa đúng không =)) Nếu an hem không muốn tốn thời gian sau này thì hãy làm luôn đi. Đừng có trì hoãn gì cả :v Sống là không chờ đợi mà

code-refactoring-with-symfony2-14-638

Automation

Chủ đề về automation là chủ đề xuyên suốt trong các bài viết blog của mình nên mình không muốn nhắc nhiều đến cái này mặc dù mình cũng chưa làm được =)) Đúng là nói nó dễ hơn làm. Thôi cố gắng trong năm 2017 để code mình có thể áp dụng automation được 😛

Tâm trạng

Khi đủ năng lượng thì theo thống kế rằng anh em sẽ làm hiệu quả hơn rất nhiều so với khi mệt mỏi. Lúc mệt mà để anh em phải động não ấy à, hậu quả là 500 anh em có thể đẻ ra các siêu bug nhiều gấp từ 2 đến 5 lần so với bình thường :v Đó cũng chính là lý do mà nhiều nước thực hiện chế độ làm việc chỉ tầm 6h thôi :3

9211c8e22318d8ea090f5cd62e667b67

Giải trí

Chất lượng code nó phản ánh một phần chất lượng cuộc sống của bản thân an hem. Mình thấy ai có chất lượng cuộc sống tốt như duy trì thể dục thể thao, chăm đọc sách, chăm ra ngoài gặp bạn bè, chơi âm nhạc hay có các sở thích nghệ thuật thì đều có khả năng code khá tốt mà ví dụ đặc biệt không tiện nêu ra như chủ nhân blog này chẳng hạn =))

wanna-play-with-me

Không ngừng cố gắng

Khi một người ngừng học thì đó cũng là lúc chất lượng code đi xuống :v Vì thế hãy tiến lên bằng mọi cách nhé :v\

stock-photo-expect-success-just-go-ahead-road-sign-with-blue-sky-background-107684027

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s