最近作った不具合を紹介します。
こんばんは、NNkamuraです。
締め切りが近づくと色んな余裕がなくなってきて、製造が雑になってしまう、なんてことないでしょうか。
自分がやってしまうことは少し自覚していたのですが、ちょっと最近多かったため自戒を込めてここに記そうと思います。
治したいレベルに合わせて優先度別にしました。
優先度低「しっかりしてくれ」
・スペルミス
最近なかったので油断していた。語を誤解していて、30回ぐらいその単語を使っていた。Xcodeのリファクタリング機能で簡単に治せはするが、恥ずかしいので気を付けたい。
・流用元のソースのコメントをそのまま流用
「あまりに似た画面なので一部ソースを流用しよう」という話はチームで決まっていたが、製造が終わった段階で一通り目を通すべきだった。死にロジックもあるかもしれないし。
優先度中「思慮が足りない」
・分岐処理を安全に
既存処理「●」
NNkamura製、▲処理の追加 「if ● else if ▲」
あるべき姿 「if ▲ else ●」
▲パターンを追加したが、既存は●処理固定であった。ならば●はデフォルトに、▲はオプションにするのが正しい。それどころか■といった新しい動作の余地を許してしまう実装は良くなかった。
・hashValue
hashValueはダメ、rawValueを使え。なんとなく知っていたのですが、うっかり使ってしまいました。
優先度高「強く気を付けたい」
・新規作成メソッドにコメントがない
不具合でもないけど間違いなく指摘されるので本当に気を付けたい。考えながら手癖で作るのではなく、作る前に軽く設計図みたいのをメモすると良さそうだ。
・共通で使っているメソッドに手を加えてしまった
「えっこのメソッド他でも使ってるの!?知らないよ!」…ではなく確認しましょう。大きなバグ(既存処理に不具合)が発生しうる。コメントですぐ分かるのが理想かもしれない。
・古いiOSでの動作確認不足
ステータスバーの長い/短い端末の確認(XRとiPhone8とか)はやるけれど、iOSバージョンの古いものは確認が漏れがち、そしてこれは結構根が深かったりする。早めに確認しておこう。
・上記、確認分をきちんと工数に乗せよう
工数に余裕を持たせて落ち着いた製造/確認をするべし。
以上、自戒でした。