hiragram no blog

iOSとか

行動指針

SwiftでiOSアプリを作るにあたっての自分の行動指針をまとめて公開してみた。

というのも、最近転職したり個人でアプリ作ったり友人とのプロジェクトが動き出しそうになったりしており、複数のコーディング規約にまたがってコードを書くことになりそうで(仕事-個人間では既に起きてる)、頭のスイッチコストやそもそもどういうルールだっけみたいなのが問題になりそうなので個人側の規約みたいなものもテキスト化してついでに公開しようと思った次第。

個人プロジェクトは僕一人でやってるのでチームで円滑にやるためのルールみたいなのは考えてないし、そもそも細かい具体的なコーディング規約はないので、迷ったときにはこう判断するのだというのを示す意味で行動指針としてみた。

以下のリポジトリにおいた。

hiragram/my-guidelines

一応思いついただけ普段書いてるコードの規約みたいなのを書き出してみたが言いたいことは冒頭のBasis of thoughtsの部分なのでそこだけ和訳しておいておく。

Humans must not do anything which a compiler can do. A compiler is far more reliable than humans are.

コンパイラができることを人間はやらない。コンパイラは人間よりはるかにずっと信頼できる。

型推論が効くところは型を書かない、省略記法が使える所は省略記法を使う

Do not make extra efforts for tiny readability. The most important thing is that each parson has same understanding, not same appearance of code.

小さな可読性のために余計な手間をかけない。重要なのは誰が読んでも同じ理解をできることで、コードの見た目が同じであることではない。

改行のあるなし、ブレースのあるなし、など。 ifの括弧かかないとかブラケット前後のスペースとかはまあ常識的に。

Take advantage of IDE(Xcode) strongly.

IDE(Xcode)をめちゃ活用する

定義へのジャンプ、型の表示、MARK、など

Do not choose a way that can crash apps on the runtime if there are another options that can prevent crash or detect errors on compilation time.

実行時にクラッシュしうるやり方より、クラッシュしなかったりコンパイル時にエラーチェックできる選択肢があるならそっちを使う。

User Defined Runtime Attributes, Implicitly Unwrapped Optional, Any, など