アプリを書く時に気にしていること_2024

IMO

アプリケーションのためのコード

コードはアプリケーションのため、そしてアプリケーションを利用するユーザーのために書く。 決して規範をなぞったり、PRレビューを通すことを目的にしない。

気をつけたいこと

  • 手段と目的がを入れ替えない
  • "複雑なこと"をやるためではなく、結果として"複雑なこと"を実現する
  • 日々熱意と時間を注ぎ込んでいるものが、ユーザーの利便につながることを意識する

EasyよりもSimple

実装したい物事には、本質的に分解できない"複雑さ"が存在する。どのようなテクニックを使ったとしても、本質的な"複雑さ"をなくすことはできない。 本質的な"複雑さ”を覆い隠す選択肢よりも、本質的な"複雑さ"を可能な限り小さく分割する選択肢を選ぶ。

気をつけたいこと

  • 「記述が短くなる」ことを絶対視せず、 「記述が最低限である」ことを目指す
  • 不必要に実装を隠蔽したり、抽象化しない *1
  • 現時点で分割できない複雑さは、なぜ分割できないかのコメントをつけて、将来の解決タスクにする
  • Easyな実装をした結果、実装箇所によってコードの品質にブレが生じることを避ける

大きな問題の解決を妨げない

Android SDKやFlutterを利用してモバイルアプリケーションを作る場合、SDKフレームワークと協調する必要がある。利用しているSDKフレームワークが解決する問題を意識し、(その解決を)妨げないことを心がける。

気をつけたいこと

  • mobileやwebアプリケーションの場合、表示されている画面や要素を中心に考える
  • フレームワークが管轄する範囲と、フレームワークを利用する開発者が管轄する範囲を意識する
  • OSの方向性を理解し、アプリケーションを利用するユーザーの期待通りの動作を実現する
  • OSやフレームワークが意図しない実装をしない

生産性の向上

職業としてプログラミングを行なっている以上、常に生産性が右肩上がりになっていなければならない。このため、短期ではなく長期で生産性が高まることを意識する。

気をつけたいこと

  • 今日書いたコードが、明日の開発を助けるコードであること
  • 今日書いたコードが、明日直したくなるものでないこと
  • 今日調査にかける時間が、将来の不安を解消するものになること

*1:世の中には"抽象的な事象"は(ほぼ)存在しない