仕事で開発する時に気をつけていること
何故この記事を書いたか
- 自分の備忘録として(気付きや指摘があれば更新する)
- 問題が発生した時のチェックシートとして
- 最低限これぐらいはやっておきましょうという指標として
- 仕事以外の開発でも何を決めるべきか、何を意識するべきかの目安として
大前提
- 開発者は自分で責任を取る権限は持っていない
- なんかやらかしたら即共有しようね
- 自分のミスを自分だけで取り戻そうとするのはただの自己満足
- 体調が悪い時は無理して出勤しない
- 大概の開発は数日遅れたところで何の影響もない
- それどころか風邪等を巻き散らかすとネズミ講のように遅延が広がる
- スケジュールの見積もりは自分が思った時間の倍掛かると考える
- そもそも聞かれたとき以外は自分の思ったスケジュールを口外しない
- やったことがないことや知らないことははっきり答える
- 人に聞くのでも自分で調べるのでも時間が掛かるので
- 繰り返しの作業や毎日やるようなことは出来る限り自動化する
- ミスしやすいしミスに気づきにくいので自動化大事
- 自動化出来ないならせめてテンプレート作ったりする
- 休憩は積極的に取るか、一定時間ごとに取れるように工夫する
- 集中している時は取りたくないかもしれないけど、一定時間のリセットは大事
- そういう時は集中が途切れないように、次に何をするか等をメモして休憩する
- 上記のうち一つでも出来ないことがある案件は早々に退散する
- 給料が良くてもよく考えるべき、ストレスは人間の大敵
- インターネットが使えない案件も同様
- たまにあるけど凄まじく待遇が良い場合以外はよく考えるべき
どんなことに気をつけるべきか
- どんな規約や決まりがあるか
- 自分の常識は世間の常識ではない
- 仕様書に載っていないことはあるか
- 別紙だったりそもそも記載がない仕様が存在することがある
- 開発環境や共通して使っているツールはあるか
- 自分が普段使っているツールを使っていいかも合わせて確認
- やるべきこと、やっていいこと、やってはいけないこと
- 少しでも疑問に思ったら人に聞く
- 人から聞いた話や自分が調べたことのメモを必ず残す
- 紙ではなくPCのテキストやMarkdown等で残すこと
- 紙は検索できない、仕事中はPCを起動しているはずなのでいつでも使えるはず
- 紙で取ったメモやメールでの情報もPCのメモにまとめておく
- TODOや何時から別の作業に移ったか等も残しておくと自分が困らない
コーディング時の気をつけるべきこと
- コーディング規約に沿っているかどうか
- 規約よりも統一性が重視される場合もあるので要確認
- 自分が実装しようとしている処理が他で実装されていないか
- 実装されていればそれを利用するべき
- ただし、本当に共通化してよいかはよく考えること
- 条件分岐や繰り返しには必ずコメントを記載する
- 何をやっているかよりも何のための処理かを重視する
- 自分が分かりづらいと思う部分、忘れそうな部分にもコメントを記載する
- あまり書きすぎると可読性が下がるので、基本は一行コメントで短めに
- 変数の宣言は出来る限り使用する処理の直前にする
- 宣言と処理が遠すぎると変数の内容が判断しにくくなる
- ただし、変数の宣言はまとまっているのが好みという人もいる
- 基本は規約に従い、記述がない場合や決まっていない場合はご参考まで
- 変数の使い回しは安易にしない
- 処理に使う変数、処理結果を格納する変数は別にすると分かりやすい
- 一貫してひとつの値に対して処理を行っていく場合などは例外
- 命名規則がある場合、命名規則に則っているか
- 命名規則がない場合でも、他のソースコードとの統一を図る
あとがき
- お金が貰えるからといってあんまり肩肘張らずにやろう
- こっちも時間を提供しているので立場は対等だよ
- でもやらなきゃいけないことはやらないと駄目だよ
- 何か新しいことを覚える時は、今後に活かせるように習得しよう
- 趣味で使えるように色々考えを巡らせておくと一石二鳥
- お昼休憩等の時に散歩を兼ねたりするとリフレッシュになるよ
- お弁当派も食べ終わったあとに外に出たりするのがいいよ