My FeedDiscussionsHeadless CMS
New
Sign in
Log inSign up
Learn more about Hashnode Headless CMSHashnode Headless CMS
Collaborate seamlessly with Hashnode Headless CMS for Enterprise.
Upgrade ✨Learn more
[Code Refactoring] Tổng quan về code xấu và đẹp

[Code Refactoring] Tổng quan về code xấu và đẹp

sadas dasdasd as das d ad asd ad

Hieu Nguyen's photo
Hieu Nguyen
·Mar 24, 2022·

2 min read

Code thúi uỳnh

Có thể nói, dự án mình đang làm là cơ hội rất lớn giúp mình nhận ra code sạch và đẹp là một trong những yếu tố rất quan trọng để giúp dự án đi nhanh, bền vững và không mang lại ức chế cho developer.

Có thể ban đầu, dự án nào cũng sạch đẹp, kiến trúc này nọ rõ ràng. Nhưng theo thời gian, developer chúng ta thêm các tính năng mới, rồi chạy cho kịp deadline,... nên code dần trở nên "chạy được" do áp lực về mặt thời gian. Từng chút từng chút như vậy tích lũy lại, khiến cho tốc độ phát triển dự án càng ngày càng chậm vì developer tốn thời gian đọc hiểu code cũ. Thời gian lại trở thành áp lực, code xấu lại tiếp tục được thêm vào. Vòng lặp này khiến cho dự án càng về sau code càng thúi, thêm hoặc sửa tính năng trở nên càng ngày càng khó khăn, đặc biệt cho các developer đến sau.

Hãy loại bỏ các đoạn code thúi ngay khi chúng còn nhỏ.

Vậy làm cách nào để có thể dừng vòng lặp này lại. Developer chúng ta hãy ngừng "tạo nghiệp" bằng cách áp dụng các nguyên tắc về clean code vào dự án, từng chút một. Refactor các đoạn code cũ khi có cơ hội, đó là đang tích đức cho các developer vào sau vậy. Mình rất tin vào luật Nhân quả - code thúi uỳnh đó rồi sẽ bằng một cách nào đó khiến cho mình phải hốt sh*t do chính mình tạo ra.

Vậy làm sao để code ra được những đoạn code sạch hơn? Mình phải vắt chân lên cổ mà học thôi chứ sao giờ.

Bloaters

Code thúi uỳnh thường chứa bloaters, các đoạn code, function mà khó để hiểu, khó để lbảo trì, nâng cấp - nói chung là code khó ở. Chúng tồn tại vì các anh em developer chúng ta chủ quan không xử lý chúng, refactor lại sau khi hoàn thành tính năng. Các đoạn code này tập hợp lại làm cho code của chúng ta thúi uỳnh.

Chúng ta sẽ chia nhỏ chúng ra thành các chủ đề nhỏ hơn để bàn đến ở các bài viết thuộc chuyên mục refactoring này.

Phần 1: Function dài thoòng loòng