エンジニアの常識(個人開発だけじゃわからなかった!)
2019年に突入してunityを触り始め、これはいけると思いいわゆる大企業を辞めて転職をしました。
6月から新たな職場にいるのですが、やはり個人で開発するのとは全然違っているなと一週間働いただけで実感させられます。
今現在で思ったことを箇条書きしてみます。
私と同じようなことを考えている人の参考になればいいなと思います。
- わかりやすくコード書く!
たぶんエンジニアの方にとっては常識でしょうが、個人でやっていて歴も浅いとこういうところに意識の違いを感じます。
とにかく誰が見てもわかりやすいような命名や書き方をする、ということですね。
個人では自分がわかればいいわけで、好き勝手に名前をつけて好き勝手に思いついたものを書いていたのですが、現場のコードは見やすかったです。
当たり前ですが、大人数で機能ごとに開発するわけですから全員が把握するのは難しいです。なのでこういう命名や書き方は判りやすくする必要があるわけですよね。
まぁ自分で作ったコードも数ヶ月した後見直すとよくわからないときがあるのでわかりやすくしておくに越したことはないですよね。
自作したゲームでいうと、マシンガンで攻撃するスクリプトがあったとき、MG()という関数を私は作りました。
しかしながら他の人がみるとMG()って何ってなりますよね、、、改良するならばAttackWithMachineGun()とかMachineGunFire()とかですかね。ながくなってもわかりやすくが味噌らしいです。
ちなみに私はリーダブルコードという本でそういうことを学んでいます。
- 拡張性を意識する
これは純粋に関心したのですが、機能の拡張を意識してコードを書いているという点です。
言葉で説明するのが非常に難しいのですが、そういうことです笑
簡単に言うと攻撃力5の攻撃1と攻撃力10の攻撃2の方法があった場合それぞれで
hp-=5とhp-=10ってそれぞれ書くよりも
HPdecrease(int AttackPower){
hp -= AttackPower
}
って関数をつくるとこれから先攻撃力が変わったとしてもこのHPdecreaseという関数を使うといつでも対応できますよね?それが簡単に言うと拡張性です。
こういったことをいたるところで感じます。UI関連などはボタンが今後追加されるかもしれないとかを意識して作りこまれているなと感じました。
まぁいまはこんな感じですが、今後初心者目線で思うことがあったらどんどん記事にしていきたいと思います。
記事もたくさん書いてはいるんですがなんか重力の奴しかみられてない・・・