Ask HN: Các lập trình viên không dùng tự động hoàn thành/LSP làm việc như thế nào?
(news.ycombinator.com)- Đây là câu hỏi về việc các nhà phát triển không dùng tính năng IDE như tự động hoàn thành, language server hay Copilot xử lý kiểu dữ liệu và các trường trong codebase như thế nào
- Tò mò về quy trình phát triển và cách khám phá mã khi làm việc mà không có các công cụ này, đặc biệt là cách tìm định nghĩa hoặc phần triển khai của hàm nằm ở file khác
- Ví dụ, người hỏi cảm thấy rất khó làm việc nếu không có tính năng go-to-definition của language server, và muốn biết có những cách nào để thay thế nó
1 bình luận
Ý kiến Hacker News
Một lập trình viên chia sẻ rằng khi gặp một lập trình viên khiếm thị, anh ấy đã học được tầm quan trọng của việc tổ chức mã. Lập trình viên khiếm thị nhấn mạnh rằng mã cần có cấu trúc rõ ràng và logic. Điều này dấy lên lo ngại rằng việc phụ thuộc vào các tính năng LSP/IDE có thể che giấu các khuyết tật cấu trúc trong codebase.
Đã đề cập rằng LSP cần thiết trong các hệ thống có nhiều định nghĩa tạm thời; React/TypeScript là một ví dụ, trong khi với codebase Python không có framework thì phần lớn hoàn toàn đủ nếu chỉ dùng shell completion.
Có hai nhóm lập trình viên tránh LSP/LLM. Nhóm đầu tiên dựa vào người khác, xem họ như một "máy chủ ngôn ngữ" thay thế. Nhóm thứ hai thành thạo việc duyệt codebase bằng các công cụ cũ.
Đề xuất tắt chức năng LSP trong một tháng để học được giá trị của việc tổ chức dự án, đặt tên file, và câu lệnh import rõ ràng.
Những người dùng shell như môi trường phát triển thường thích làm quen với mã qua các công cụ CLI. Họ thích trình biên dịch nhanh và kiểm tra kiểu nhanh, và tránh các yếu tố gây xao nhãng trực quan của IDE.
Có người chia sẻ kinh nghiệm làm việc với vim không có hỗ trợ, nhấn mạnh việc thành thạo tab và cách đặt tên là rất quan trọng.
So sánh với việc lái xe mà không dùng GPS, nhấn mạnh rằng sự am hiểu sâu về codebase là điều quan trọng. Họ không phản đối LSP, nhưng thích các công cụ như vim.
Nhiều công cụ có thể gây trở ngại; việc tập trung trong một không gian yên tĩnh là rất quan trọng. Anh ấy đọc và tìm kiếm mã bằng các tiện ích tiêu chuẩn POSIX.
Đưa ra luận điểm rằng việc ghi nhớ và chịu đựng khó khăn giúp học tập hiệu quả hơn. Sử dụng cài đặt vim tối thiểu giúp anh ấy hiểu rõ hơn về độ phức tạp của Linux và ngôn ngữ.
Đã rút ra bài học rằng các công cụ hiện đại cho phép duy trì năng suất ngay cả khi không có trạng thái flow. Điều đó truyền cảm hứng cho việc thử các tính năng hiện đại như của VSCode.