[XPDay20016] Clean Code – Viết code như một chuyên gia

Tuần vừa rồi, tôi tham gia một sự kiện rất nổi bật dành cho dân làm phần mềm, đó là XPDay Vietnam 2016. Đây là lần thứ 2 tôi tham dự sự kiện này, nhưng là lần đầu tiên với tư cách là một diễn giả. Phải nói là tôi khá thích thú bởi vì phiên trình bày của tôi được xếp vào cuối buổi, nhưng vẫn có khá đông người tham dự.

Với chủ đề Software Craftsmanship, các phiên thảo luận của XPDay Vietnam năm nay thu hút rất nhiều đối tượng là lập trình viên, gọi nôm na là dân kỹ thuật. Chủ đề “Clean Code” của tôi cũng được nhiều người ủng hộ và tham gia sôi nổi.

Mục đích của tôi khi tham gia với chủ đề này đó là gợi mở cho các lập trình viên, đặc biệt là những người mới có ít kinh nghiệm trong nghề, một cái nhìn mới, một hướng đi mới, một con đường để phát triển tay nghề, phát triển bản thân.

Với những kinh nghiệm có được khi đi dạy làm phần mềm trước đây, tôi hiểu “sự bắt đầu” của một lập trình viên, rồi những bước đi tiếp theo của họ trong nghề viết code. Tôi mượn hình ảnh của một bảng mạch với các dây nối chằng chịt hướng sự quan tâm của mọi người về những dòng code khi chúng được viết ra cẩu thả. Đến nỗi không ai dám sờ vào, đừng nói gì đến việc bảo trì hay thêm tính năng mới:

clean code xpday

Nhưng nếu chúng ta quan tâm thực sự tới “vẻ đẹp” của những dòng code thì đáng lẽ ra nó sẽ được gọn gàng như thế này:

clean code xpday

Rất may là không khó để tất cả mọi người đồng ý về việc cần thiết phải có những chuẩn mực, những tiêu chí để giữ cho những dòng code của mình được xinh đẹp. Chẳng hạn như, nó phải “trông giống như một đoạn văn”, “đơn giản”, “người khác có thể đọc được, cải tiến được”, “phải thể hiện được niềm tự hào của người đã viết ra nó”, v.v..

Câu hỏi lớn nhất còn lại đó là: Làm cách nào?

Cũng may mắn không kém, các lập trình viên đang được hưởng lợi từ những chia sẻ của những “bậc thầy” trong nghề code, mà tiêu biểu là những nội dung được đề cập trong cuốn “Clean Code” của Robert C. Martin. Theo đó, có rất nhiều khía cạnh mà một lập trình viên cần để ý nhằm cho ra đời những dòng code đẹp. Từ những việc rất đơn giản như việc đặt tên biến, viết chú thích, lùi đầu dòng cho đến thiết kế hệ thống, kiểm thử,…

Những người mới lần đầu tiên tiếp cận, có thể cảm nhận rằng những việc này quá khó. Nhưng thực tế thì không phải như vậy. Khó để một sớm một chiều trở thành một “bậc thầy” Clean Code, nhưng không khó để bắt đầu từ những cái nhỏ. Chả lẽ tái cấu trúc như đoạn code sau cũng là quá khó sao?

Trước:

Clean code

Sau:

Clean code

Hay đơn giản chỉ là cấu hình IDE đồng nhất trong nhóm để quy định khoảng cách lùi đầu dòng, độ dài tối đa của một dòng,…

Buổi nói chuyện kết thúc trong hào hứng khi mọi người được giới thiệu về CodingDojo, và CodeRetreat – những sự kiện mà ở đó các kỹ thuật viết code thượng thừa luôn được đề cao. Ví như việc thực hành Pair Programming của 2 anh chàng này vậy – ai mà chẳng thích môi trường làm việc thân tình thế này. Nhỉ?

clean code pair programming 1clean code pair programming 2

Cảm ơn AgileVietnam và những người tham dự vì đã tạo nên một sự kiện thực sự hào hứng và lý thú. Hẹn đến XPDay lần sau!

XPDay là sự kiện quốc tế thường niên của giới phát triển phần mềm nhằm trao đổi về những kỹ thuật, kỹ năng lập trình Agile, nòng cốt là eXtreme Programming. Năm nay là lần thứ 2 XPDay được tổ chức tại Việt Nam với chủ đề chính là “Software Craftsmanship”. Sự kiện hướng đến mục tiêu phát triển phần mềm nhanh, chất lượng cũng như các phương pháp, kỹ thuật, công cụ để cộng tác và phát triển bền vững trong ngành công nghiệp phần mềm.

Nguyễn Khắc Nhật

phản hồi