Giaosucan's blog - Chia sẻ kiến thức theo cách bá đạo

Ticker

20/recent/ticker-posts

AI Coding Tool - part 1

Từ triệu năm về trước, con người đã biết sử dụng những công cụ để phục vụ cuộc sống. Từ việc phát minh ra lửa, cho tới đồ đá, đồ đồng, đồ sắt. Đó là sự khác biệt rõ rệt giữa con người và động vật.

Ngày nay, càng nhiều công cụ được con người phát minh được áp dụng trong mọi lĩnh vực. Ngành xây dựng có cần cẩu, máy xúc, ngành y tế có máy chụp, máy chiếu. Các diễn viên JAV cũng biết sử dụng tool toy để phục vụ cho việc diễn xuất. Chả lẽ giới coder IT lại code bằng cơm mà không có tool support.

Bài viết này giới thiệu một số tool khá hay để các bạn coder tham khảo

Tabnine

Cách đây tầm 15 năm, toàn code bằng notepad++ rồi gõ cli để build run code, typingg code cứ xác định là méo mồm. Nhưng từ ngày ra đời IDE như VSCode, Intelli ji, với chức năng code hint, nhận dạng code syntax thì tốc độ coding tăng lên đáng kể, build cũng giảm lỗi syntax nhiều so với notepad trước kia. Ngày nay, với sự phát triển của AI, nhiều công cụ support coding dùng AI ra đời như copilot của GitHub. Đặc điểm của AI coding là nó có khả năng “learn” code để đưa ra các suggestion, coding snipset cho developer. Chứ không đơn thuần là code hint như IDE

Một trong những tool code AI tôi đang sử dụng là Tabnine bản commercial

Cách hoạt động của tabnine là nó learn source code của bạn và hàng triệu repos khác trên github để cung cấp guideline pattern khi coding. Dựa trên Learning model, NLP, tức là có khả năng đọc hiểu code của bạn, command code , để từ đó đưa ra suggestion

Ví dụ khi gõ lện import, tabnine sẽ đưa ra các suggestion về các lib thông dụng

Hoặc khi bạn gõ tên hàm searchBinary thì tabnine sẽ suggest coding snippset về searchBinary ( thanh niên nào đi thi coding sẽ thích món này). Bạn không cần phải đi search StackOverflow nữa

Bản commercial của Tabnine hỗ trợ TEAM work, tức là Tabnine sẽ learning code của cả Team để đưa ra các suggestion hợp lý khi bạn viết code. Tất nhiên điều này cũng có nhược điểm là team mà code lởm thì xác cmnd.

Bản commercial thì support Enterprise support nhiều mode khác nhau, model ngon hơn bản free:

Line suggestion.

Full suggestion/code snippet dựa theo comment.

Tabnine hỗ trợ nhiều ngôn ngữ như Java, C#, .JS

Do làm DevOps nên tôi code shescript, python và terraform là chính. Nhưng thực tế khi dùng Tabnine, nó cũng hỗ trợ khá tốt khả năng suggestion, giúp cải thiện tốc độ code đáng kể.

Bản Tabine chạy trên Cloud tuy nhiên có thể host on-prem nhưng significant more work & higher cost.

Hiện tại Tabine tích hợp được trên nhiều IDE như VScode, IntelliJ .. Chú ý đối với VS Studio thì mới support tới bản 2019.

Nếu không mua được bản commercial thì bạn có thể xài bản free, tôi thấy dùng cũng khá ổn, đủ xài. Đối với doanh nghiệp thì mua bản commecial cho team nhiều user để xài.

Tabine collect metrics về kết quả, để bạn đánh giá về hiệu quả sử dụng Tabnine

Tóm lại đây là tool khá tiện lợi và đáng để sử dụng khi coding

Bài tiếp sẽ có những review về 1 số tool khác như Diffblue,Devmate, bit.Dev, ABP

Đăng nhận xét

0 Nhận xét