見やすいソースコード
2014年02月16日
今回は真面目な記事ということで、
見やすいソースコードについて書きたいと思います。
例として書くソースの言語については、よく使用する「php」とします。
また、ソースコードの書き方、見易さについては、十人十色なので、
あくまで参考程度に見ていただければと思います!
まずは極端に見づらいソースコードを書きます。
かなり適当なソースなので、間違えていたらご指摘ください。。。
$s='u';$m='指定文字列なし';$a=array('a','i','u','e','o');foreach($a as $i){if($i==$s){$m='指定文字列あり';}}print $m;
このソースを少し見やすいように改行を加えます。
基本的には「;」や各構文の後は改行を行い、
どこでどのような処理が行われているかを人間に理解しやすいようにします。
$s='u';
$m='指定文字列なし';
$a=array('a','i','u','e','o');
foreach($a as $i){
if($i==$s){
$m='指定文字列あり';
}
}
print $m;
改行を加えるだけで、1ステップで書かれているよりは遥かにわかりやすくなりますが、
実際のソースコードは100~ステップで書かれていることがざらなので、正直改行だけではまだ見づらいです。
そこで、各構文の処理範囲がわかるようインデントをつけます。
$s='u';
$m='指定文字列なし';
$a=array('a','i','u','e','o');
foreach($a as $i) {
if($i==$s) {
$m='指定文字列あり';
}
}
print $m;
インデント(半角スペース等の字下げ)を行うことで、
上記コードではforeach、if文の処理範囲がはっきりとします。
インデントにはさまざまなスタイルがあり、詳細については、下記ページを参照してみてください。
また、インデントする際、TAB、や半角スペースで行いますが、
TABは桁数が環境によって異なるため、半角スペースで行うことを推奨されているみたいです。
[インデントスタイル]
http://ja.wikipedia.org/wiki/%E5%AD%97%E4%B8%8B%E3%81%92%E3%82%B9%E3%82%BF%E3%82%A4%E3%83%AB
上記の1~2については、開発環境によっては、自動的に行ってくれることがあります。
それでは、さらに見やすくするためにはどうするという話ですが。。。
変数名を見ただけでなにに使用するのか、どのような値が入っているのかわかるような名前にします。
$search_char = 'u';
$target_char = array('a' , 'i' , 'u' , 'e' , 'o');
$message = '指定文字列なし';
foreach($$target_char as $char) {
if($char == $search_char) {
$message = '指定文字列あり';
}
}
print $message;
変数名は簡潔に書くことが理想です。
ただ、名前をつけるときに悩むときは多々あり、そのあたりが割とセンスを問われます。
正直自分は自信がないです。。。
他の人のソースコードを見る上で一番参考になるのがコメントです。
特にステップ数が多いソースコードを見る際にコメントがついていない場合は、
ソースを最初から追っていかなければなりません。
逆に言えば、コメントがしっかりとついていれば、ソースコードをまったく見ずとも
どういう処理が行われているかが把握できます。
// 検索文字
$search_char = 'u';
// 検索用文字配列
$target_char = array('a' , 'i' , 'u' , 'e' , 'o');
// 表示メッセージ
$message = '指定文字列なし';
// 検索用文字列配列から検索文字があるかチェック
foreach($$target_char as $char) {
// 検索文字がある場合、メッセージを変更
if($char == $search_char) {
$message = '指定文字列あり';
}
}
// メッセージを表示
print $message;
ソースコードを見やすくするためには他にも様々な手段があります。
ただし、場所によってはコーディングする際の規則があったりするので、
そちらにご注意ください。
また機会があれば、別の手段についても紹介したいと思います。
それでは今回はこのあたりで!
見やすいソースコードについて書きたいと思います。
例として書くソースの言語については、よく使用する「php」とします。
また、ソースコードの書き方、見易さについては、十人十色なので、
あくまで参考程度に見ていただければと思います!
1. 改行
まずは極端に見づらいソースコードを書きます。
かなり適当なソースなので、間違えていたらご指摘ください。。。
$s='u';$m='指定文字列なし';$a=array('a','i','u','e','o');foreach($a as $i){if($i==$s){$m='指定文字列あり';}}print $m;
このソースを少し見やすいように改行を加えます。
基本的には「;」や各構文の後は改行を行い、
どこでどのような処理が行われているかを人間に理解しやすいようにします。
$s='u';
$m='指定文字列なし';
$a=array('a','i','u','e','o');
foreach($a as $i){
if($i==$s){
$m='指定文字列あり';
}
}
print $m;
2. インデント
改行を加えるだけで、1ステップで書かれているよりは遥かにわかりやすくなりますが、
実際のソースコードは100~ステップで書かれていることがざらなので、正直改行だけではまだ見づらいです。
そこで、各構文の処理範囲がわかるようインデントをつけます。
$s='u';
$m='指定文字列なし';
$a=array('a','i','u','e','o');
foreach($a as $i) {
if($i==$s) {
$m='指定文字列あり';
}
}
print $m;
インデント(半角スペース等の字下げ)を行うことで、
上記コードではforeach、if文の処理範囲がはっきりとします。
インデントにはさまざまなスタイルがあり、詳細については、下記ページを参照してみてください。
また、インデントする際、TAB、や半角スペースで行いますが、
TABは桁数が環境によって異なるため、半角スペースで行うことを推奨されているみたいです。
[インデントスタイル]
http://ja.wikipedia.org/wiki/%E5%AD%97%E4%B8%8B%E3%81%92%E3%82%B9%E3%82%BF%E3%82%A4%E3%83%AB
3. 変数名
上記の1~2については、開発環境によっては、自動的に行ってくれることがあります。
それでは、さらに見やすくするためにはどうするという話ですが。。。
変数名を見ただけでなにに使用するのか、どのような値が入っているのかわかるような名前にします。
$search_char = 'u';
$target_char = array('a' , 'i' , 'u' , 'e' , 'o');
$message = '指定文字列なし';
foreach($$target_char as $char) {
if($char == $search_char) {
$message = '指定文字列あり';
}
}
print $message;
変数名は簡潔に書くことが理想です。
ただ、名前をつけるときに悩むときは多々あり、そのあたりが割とセンスを問われます。
正直自分は自信がないです。。。
4. コメント
他の人のソースコードを見る上で一番参考になるのがコメントです。
特にステップ数が多いソースコードを見る際にコメントがついていない場合は、
ソースを最初から追っていかなければなりません。
逆に言えば、コメントがしっかりとついていれば、ソースコードをまったく見ずとも
どういう処理が行われているかが把握できます。
// 検索文字
$search_char = 'u';
// 検索用文字配列
$target_char = array('a' , 'i' , 'u' , 'e' , 'o');
// 表示メッセージ
$message = '指定文字列なし';
// 検索用文字列配列から検索文字があるかチェック
foreach($$target_char as $char) {
// 検索文字がある場合、メッセージを変更
if($char == $search_char) {
$message = '指定文字列あり';
}
}
// メッセージを表示
print $message;
ソースコードを見やすくするためには他にも様々な手段があります。
ただし、場所によってはコーディングする際の規則があったりするので、
そちらにご注意ください。
また機会があれば、別の手段についても紹介したいと思います。
それでは今回はこのあたりで!
システム担当だけで作る管理画面のオススメ Bootstrap3のテンプレート
fuelphpにて独自Controller作成
共有サーバのホスティングサービスについて総点検してみたよ
PHPカンファレンス2014参加しました!
Instagram APIから画像データを取得する方法
静岡の街中をクイズ会場に変える!!
fuelphpにて独自Controller作成
共有サーバのホスティングサービスについて総点検してみたよ
PHPカンファレンス2014参加しました!
Instagram APIから画像データを取得する方法
静岡の街中をクイズ会場に変える!!
Posted by iA SEチーム at 17:15│Comments(0)
│php