技術書のサンプルコードと業務コードの間にある壁
2023/10/02
2023/10/10
主にソフトウェア設計やプログラミングについての本を読んでいるとサンプルコードが書いてあるんだけど、説明のためのコードなので、小さいコードであることが多い。紙面の都合上、仕方のないことだし、説明を判り易くするために余分な記述を排除するので当然と言えば当然です。
技術書から学ぶことで、仕事でもより良いコードを書きたいと思うプログラマーにとっては、これは結構難しい問題を含んでいるように思えます。
小さいサンプルコードで学んだ事を業務で活かそうとして業務コードを前にすると、急に思考が止まるという経験をしている人も少なくないのではないかと想像しています。
サンプルコードで理解したはずのことを、十分に大きな業務コードを見て類似の問題点を見付けて改善するためには、もう一つ別の種類の壁があるような気がしています。何とは言えないのですが、大きいプログラムを分解して把握する能力というか。。。(うまく言語化できてない
追記(2023-10-10)
抽象化能力に関係しそうですね。 「あ、これは、ようするに○○の問題だ」と気付けるかどうかみたいな。 PS. 昨日はありがとうございました。楽しかったです
— しめじ(smeghead) (@smeghead) October 9, 2023
武田さんに反応してもらえたおかげで、言語化が進んだように気がするので追記します。
サンプルコードで理解したことを現実の業務コードの改善に活かすためには、「抽象化能力」という言葉が出てきましたが、それだけだと不足しているような気がします。
雰囲気で言うと、抽象と具象をスライダーで動かしながら、業務コードを把握する能力なのではないかと思いました。
抽象と具象を行ったり来たりする能力。この能力を得るための書籍があったら教えて欲しいです🙇