Hoàn toàn đồng ý, và tôi nghĩ rằng các công cụ LLM có thể là một yếu tố thúc đẩy việc áp dụng một số thực hành của các đội/nguyên tắc tốt nhất tại các đội nhỏ hơn mà trước đây có thể không thể biện minh cho chúng.
Simon Willison
Simon Willison06:01 1 thg 10
Không chỉ là kiểm tra đơn vị - còn rất nhiều thực hành kỹ thuật phần mềm hàng đầu khác giúp tăng năng suất với các tác nhân lập trình Kiểm tra tự động, tài liệu toàn diện, thói quen kiểm soát phiên bản tốt, văn hóa xem xét mã, triển khai nhanh đến môi trường staging...
Tôi nghĩ bạn sẽ điên nếu có vài trăm kỹ sư mà không có một công cụ kiểm tra mã. Tuy nhiên, nếu bạn chỉ có hai hoặc bốn người, có lẽ bạn sẽ không bao giờ đạt được năng lượng kích hoạt cho điều đó, và chủ yếu chỉ có những cuộc tranh cãi không hiệu quả về phong cách lập trình. Nhưng thêm Claude Code vào và a) bạn muốn có công cụ kiểm tra mã đó.
b) việc thiết lập linter giờ chỉ mất năm phút so với "Một người phải đối mặt với một nhiệm vụ tốn thời gian cổ điển là tích hợp nó với tất cả các IDE/v.v."
Đối với phần khán giả của tôi không biết: một linter là một công cụ tự động có thể thực thi các tiêu chuẩn quy ước lập trình nghiêm ngặt hơn những gì mà một ngôn ngữ có thể cho phép. Ví dụ, bạn có thể áp dụng một quy tắc nội bộ rằng các cấu trúc pháp lý cụ thể không được phép.
Ví dụ, có một thuật ngữ pháp lý rất ngắn gọn trong nhiều ngôn ngữ được gọi là toán tử ba ngôi. Toán tử ba ngôi nổi tiếng là dễ gây ra lỗi, và một nhóm kỹ sư có thể quyết định rằng, mặc dù ngắn gọn, nhưng trên cơ sở điều chỉnh rủi ro, chúng không phải là một tính năng chấp nhận được để sử dụng.
Ví dụ về một điều mà bạn có thể điều chỉnh một cách hợp lý thông qua linter mà bạn không muốn phải tranh cãi lặp đi lặp lại với Claude Code: trong Rails, something_id có nghĩa là một khóa ngoại cho bảng something. Claude thỉnh thoảng quên điều này, gọi nhiều thứ khác là ids.
Bạn có thể, nếu bạn muốn, viết một quy tắc linter sẽ được thực thi mỗi khi mã được sửa đổi và thông báo cho Claude và phần còn lại của thế giới: "Bạn đã đặt tên cho một biến là box_id, nhưng _ids chỉ nên được sử dụng để tham chiếu đến các khóa cơ sở dữ liệu. Hãy xem xét box_code hoặc một tên khác."
Một điều hay về các quy tắc linter là chúng có thể có kiến thức cụ thể cho dự án được tích hợp vào chúng. Một lập luận lặp đi lặp lại mà một nhân viên văn phòng Nhật Bản đã phải tranh luận từ lâu, với (các) người nói không phải tiếng mẹ đẻ khác đang làm một ứng dụng web cho trường đại học: bạn KHÔNG ĐƯỢC sử dụng "subject."
Tại sao không? Bởi vì các trường đại học Nhật Bản chia các môn học thành 教科 (kyouka; một môn như "toán") và 科目 (kamoku; một môn như "đại số tuyến tính"), và vì từ "subsubject" thật khó đọc trong mã, nên chúng được gọi bằng tiếng Nhật romaji để luôn rõ ràng.
33,61K