どうも7noteです。プログラミング・コーディングの勉強始めて1週間以内の超初心者向けの記事で。
あくまで印象ですが、非プログラマー・非コーダーの方からみられたエンジニアの印象というのは
「よくわからない複雑な英語を沢山書いている人」
と思わてれいる場合がほとんどかなと思います。
これからプログラミングを勉強始める方へメッセージです。
「プログラミングは短く綺麗に書ける方が美しい」
※例外もあるとは思いますが。。。
やっていない人からすれば確かに沢山の文字を書いてますが、やっている本人からするとどれだけ簡略化できるかを常に意識しながら行なっています。
難しい処理をゴリゴリできる人はすごいかもしれませんが、書いたプログラミングのソースが複雑怪奇な状態になっていれば目も当てられません。
なぜなら複雑な手法を取ることはむしろ害がある可能性も考える必要があります。
「ソースが複雑になることによって起こりえる害は大きく3つ」
- 処理が重くなり、動作が遅くなってしまう
- 今後のメンテナンス性が下がる
- 開発に時間がかかってしまう
初心者の方が中級者に上がろうと思うと、この意識がとても重要です。
ある程度プログラミングを覚えてきたら、「どうやったら綺麗に書けるのだろうか」「どうすれば簡略化できるのだろうか」というところの方に時間をかけるようにした方が良いです。
難しい処理を作らなければならないとなった場合でも、どうやったらその処理ができるのかを考えつつ、どう開発したら早く書けるのか、また今後のメンテナンスがしやすいのかを考えている人がほとんどだと思います。
世の中にはいかに少ない容量(ソース量)ですごいことができるかを競う大会があるほどこの世界は容量や処理速度を重要視しています。
プログラミングするときは簡略化を意識することが大切
思いついた順や、できるところからバラバラに作り始めてしまうと大変です。
完成するものの全容を見れていないと、同じものを2回書いてしまったりする可能性があるからです。
そうすると、処理が重複してしまったり、変更したはずなのにうまく反映されないなんてことが起こります。
デザインを確認したり、仕様書にしっかりと目を通し、頭の中でいいので作る手順をざっくり決めましょう
私はホームぺージ制作をしているのですが、ページを作るときはまずデザインを全部みて、ヘッダー・フッター・サイドバー・メインコンテンツと内容を切り分けます。この時にヘッダーとフッターは同じロゴが使われているなということに気付き、「じゃあhead_logo.pngという名前の画像にはしない方がいいな。」などを考えながら作り始めます。
他にも共通して使えるCSSがないかなどを意識して組み始めています。
時にはあえて長く書いてでも、メンテナンス性を確保することもある
場合によってはあえて行数が長くなる方法を取ることもあります。
基本WEBは左寄せが標準ですが、中央寄せになっているところが8割くらいあるからといって、「全部の要素に中央寄せになる」というCSSを1行で書いても、あとで左寄せの箇所だけ左よせのCSSを書くということはあまりしないようにしています。
このケースでは左寄せのものを中央にして、また打ち消すように左寄せにするというステップが踏まれているため、1つの要素に対して多重に命令が重なってしまっています。
こうなってしまうと予期せぬ動きになってしまったり、他の人が見たときに状態を把握するまでに時間がかかってしまうからです。
なので中央寄せにする所にだけしっかりと中央寄せのCSSを書く方が綺麗だと思います。
このように場面によってはメンテナンス制を重視してあえて長く書くこともあります。綺麗に書く = 短く書く ではないという事です。
どうすれば綺麗なソースが書けるようになるのか
- 大量のインプットとアウトプットをする
- 同じ物は2度書かないような意識をする
- 実際に完成したものをあとから修正してみる(ここで不都合に感じた事を次に活かす)
- 人の書いたソースを見て自分のものにする
とかかな?
答えはないですが、とにかくいろいろなものに触れる機会を増やす事が大切です。
まとめ
開発者になるのであればすごい複雑なプログラミングを求められる場合はごく一部です。それよりも綺麗なソースをしっかりと書ける人の方が需要は高いのではないかなと思います。
駆け出しの頃は1人で開発する場合がほとんどなので、自分が分かれば綺麗にかく必要性がないのであまりきにしないかもしれませんが、綺麗なソースを書ける人材はとても重要です。
仕事としてコーディングをするのであれば、いかに綺麗にかけるのかを追求し続ける努力は、大切なことの1つかなと思います。