Ask HN: 自動補完/LSPを使わないプログラマーはどのように作業していますか?
(news.ycombinator.com)- 自動補完、言語サーバー、CopilotのようなIDE機能を使わない開発者が、コードベースの型やフィールドをどのように扱っているのかについての質問
- こうしたツールなしで作業する際の開発フローやコード探索の方法、特に別ファイルにある関数の定義や実装を見つける方法が気になっている
- 例として、言語サーバーのgo-to-definition機能なしでは作業が難しいと感じており、それを代替する方法が何なのかを知りたいという内容
1件のコメント
Hacker Newsのコメント
あるプログラマーは、視覚障害のあるプログラマーに出会って、コードを組織的に構成することの重要性を学んだ。視覚障害のあるプログラマーは、コードが明確で論理的な構造を持つべきだと強調していた。これは、コードベースの構造的な欠陥を覆い隠してしまう可能性があるLSP/IDEの機能に依存することへの懸念につながっている。
LSPは、定義が多数あるシステムでは必要だと述べている。React/TypeScriptがその例で、フレームワークを使わないPythonコードベースでは、シェル補完でほとんど十分だ。
LSP/LLMを避けるタイプのプログラマーは2種類いる。第一のグループは人間の言語サーバーとして他人に依存している。第二のグループは、古いツールを使ってコードベースをうまく探索するのが得意だ。
LSP機能を1か月間オフにしてみることを提案している。これによって、プロジェクトの整理、ファイル命名、明示的なimport文の価値を学べる。
シェルを開発環境として使う人は、CLIツールを使ってコードと親しむことを好む。高速なコンパイラと型チェックが好きで、IDEの視覚的なノイズを避ける。
補助機能なしでVimを使って作業した経験を共有し、タブの使用と命名に慣れることが重要だと述べている。
GPSを使わない人が運転する方法をたとえに挙げ、コードベースの理解を深めることが重要だと強調する。LSPに反対しているわけではないが、vimのようなツールを好む。
多くのツールが邪魔になることがあるため、静かな空間で集中することが重要だと述べている。標準的なPOSIXユーティリティを使ってコードを読み、検索している。
暗記と“苦痛”が学習に効果的だと主張している。最小限のvim設定を使って、Linuxと言語の複雑さをよりよく理解できるようになった。
現代のツールがフロー状態に入らなくても生産性を保てることを実感した。これがVSCodeのような最新の機能を試してみるきっかけになった。