こんにちは、まちこです。
先日、地元で開催される数少ない勉強会の一つである「Webナイト宮崎」に参加してきました!
今回のテーマは「てげ良いコード書きたい」。
つまり良いコードを書くためにはどうすれば良いかをテーマにLTされていました。
いろんな観点(英語で)から、発表者それぞれの考え方で意見を聞くことができました
私自身、Web系は初心者中の初心者なので、参考になることもあれば、この言葉はなんだ?と思うところも多々ありました。笑
ただ、Web系でも自分の専門のソフトウェア開発でも、コーディングする上での基本的な考え方は同じなのだと再認識したところでもあります。
この記事では、下記の3つのポイントでお話しします。
- 今回の学びをピックアップして紹介
- エンジニア用語解説(自分が知らなかったワード...)
- おすすめ書籍
今回の学び:よいコードを書くには?
共通関数を用いる
つまり、同じ処理を使うたびにコーディングするのではなく、共通関数として定義する。
そうすることで、メンテナンスが容易になり、ソースコードも綺麗に纏まる。
ソース内のコメントを工夫する
関数の説明のコメントは書かない。それは関数名でわかるようにすること。
これは何かのコメントではなく、なぜ(Why)このコードを書いたか。
修正をプッシュする場合にPrefixを使う
GitHugなどの、バージョン管理アプリに修正を更新する場合に、コメントにPrefixを用いる。
そうすることで、プッシュの中身が簡素化される。(バグ修正や機能追加など複数の変更が1プッシュの中に含まれなくなる)
ちなみにPrefixとは、プッシュコメントの頭につける修正内容を表す言葉。
例えば、「Add:〜」では機能追加、「Fix:〜」では修正、という表現になる。
グローバル変数を定義しない
ソースコード内のどこでも参照できるグローバル変数があると、いつどこで値が変更されるかわからない危険性があります。
そのような不安定なプログラムを作らないためにも、グローバル変数を用いることは極力控えましょう。
メソッドは数行で収める
冗長なメソッドは、メンテナンス性も悪くなります。
メソッドを細分化、簡潔化するよう心がけましょう。
関数、変数をわかりやすい名称にする
「Setdata」といった何のデータをセットするかわからない関数名にするのではなく、「SetDataPerson」といったように、他人が「人のデータをセットする関数だな」とわかるような名称をつけるようにしましょう。
コメントで説明するのではなく、関数名、変数名でわかるようにする工夫が大切です。
Google HTML /CSS Style Guide
Googleが提供するコーディングガイド。
規則を持ってコーディングすることで、他人が見ても見やすい、”美しいソースコード”を作ることができます。
エンジニア用語解説
エンジニア用語解説とか一丁前に書いておきながら、勉強会中に私がいまいち理解できなかった用語達です...。
お恥ずかしい限りです。笑
ひよっこエンジニア。まだまだ成長の予知ありです。
Laravel
PHPのフレームワークで、プログラムを簡単かつ素早く実装するための機能群です。
以下のサイトがわかりやすかったです。
人気のLaravelって何ができるの?Laravelでできる事まとめ | 侍エンジニア塾ブログ(Samurai Blog) - プログラミング入門者向けサイト
UTF-8
文字コードの一種です。
流石にこれについてはなんとなく知っていたのですが、別の文字コードからUTF-8に移行する、という開発者もいるようで、移行するメリットは何なのか、と気になりました。
結論だけ述べると、デメリットが問題を引き起こすことはない、だそうです。
下記のサイトが参考になります。
三項演算子
if else文を?:で表現することができる。
詳しくはGoogle先生に聞いてみよう。
ペアプロ・モブプロ
2人(ペア)もしくはモブ(複数人)で開発を行うこと。
認定スクラムマスター
スクラム開発の資格。スクラム開発はアジャイル開発の一つ。
ABD
1冊の本を分担して読んでまとめて情報を共有する。アクティブブックダイアローグ。
おすすめ書籍
登壇者の方々がLTの中で紹介されてた書籍達です。
・リファクタリング関連書籍
リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック (Theory in practice)
- 作者:Dustin Boswell,Trevor Foucher
- 発売日: 2012/06/23
- メディア: 単行本(ソフトカバー)
終わりに
よいソースコードを書くことは、一つのマナーだと思っています。
今回はWeb系エンジニア向けの勉強会でしたが、ソフトウェア開発にも通ずるところは多くありました。
よいコードを書きたいと思っていても、納期に追われ、解決しない問題に追われていると、ついつい汚いコードを書いてしまいます。(思い当たるコードの数々....)
そしてやはり、まだまだWeb系は知らないことがたくさんです。
先人達に追いつき、肩を並べるまで行きたいところです。
まちこの挑戦は続く....。