KaQiita

新米 Web エンジニアが適当なことを書いてます。温かく見守ってやってください。

コードをシンプルに保つために最も大切なこと〜プログラマが知るべき 97 のこと 5. 美はシンプルさに宿る〜

はじめに

「プログラマが知るべき 97 のこと」の「5. 美はシンプルさに宿る」を読んで考えたことについて書きたいと思います。

[商品価格に関しましては、リンクが作成された時点と現時点で情報が変更されている場合がございます。]

プログラマが知るべき97のこと [ ケブリン・ヘニー ]
価格:2090円(税込、送料無料) (2020/7/14時点)


コードは美しいに越したことはないと思います。

単に開発体験が良いという話でもありますし、事業上の観点からもコードが読みやすいことで開発ベロシティが上がるし、バグも出にくくなります。

今回は最近コードを美しく保つに当たって最も大切だと考えていることについて書こうと思います。

設計する前に仕様の方をシンプルにできないか考える

結論から言うと、開発のための設計を始める前に仕様の方をシンプルにできないかを考えることが大切だなと思っています。

仕様が複雑であればどう頑張ってもコードは荒れ果てていくので、設計の力を磨いたりコーディングスキルを磨いたりするよりも前に、シンプルで分かりやすい仕様を考え、ビジネス職とコミュニケーションをとってユーザー・ビジネス・開発三方良しの仕様に着地されるスキルがコードを美しく保つ上で最もレバレッジが効くように思います。

またビジネス職だけでなく、デザイナーとのコミュニケーションも大切です。

デザインが部分最適化されすぎてしまっていると、場所によって UI パーツのデザインが異なっていたり、異常系のユーザー体験が統一されていなかったりしてまたコードが複雑になっていきます。

「開発者としてのコミュニケーションスキル」があって初めて、設計力・コーディングスキルが発揮されるのだと思います。

「開発者としてのコミュニケーションスキル」とは

コミュニケーションスキルと言うととても抽象的な言い方になってしまいますが、技術に関して非エンジニアにも分かりやすく伝えられるスキルという意味でここでは使っています。

「コードが複雑だと何がいけないのか」「具体的にどんな事業リスクが発生するのか」「シンプルなコードに保つことでどれくらいのメリットがあって追加コストはどれくらい掛かるのか」ということを分かりやすく伝えて、しっかりとあるべきプロダクトに着地させていくということが重要だなと思います。

「コードが複雑なことの何が問題なのか」を非エンジニアにしっかりと説明できる人は多くない印象ですし、私もしっかり説明できる自信はないです。しっかりとこの辺は説明できるようにならないとなと本書を読んで改めて思いました。

終わりに

コードをシンプルに保つためには、設計力やコーディングスキルの前にコミュニケーションスキルが大事だという話をしました。誰かの参考になれば幸いです。

[商品価格に関しましては、リンクが作成された時点と現時点で情報が変更されている場合がございます。]

プログラマが知るべき97のこと [ ケブリン・ヘニー ]
価格:2090円(税込、送料無料) (2020/7/14時点)