上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
こんばんは!
同窓会へ行ったら、思いっきり浮いていたゆってぃです。
給料日直後なので、ファミレスでステーキを食べてきました(笑)

さて、今回はソフトウェアコーディングのお話です。

CQ出版社から出版されているインターフェースという雑誌、ご存知の方も多いと思います。
今、「教科書には載っていない!現場で役立つプログラミングのちょい技」という企画が連載中です。
現在は、良いソースコードとはどのようなものか、という壮大なテーマに関して、記事が書かれています。

これ、難しいですよね…。
プログラマの方って、自分の記述スタイルに多かれ少なかれポリシーを持っていますし、「この記述はOK!これはNG」ってやっちゃうと、下手をすると言い争いになっちゃったりするみたいで(汗)

一応、うちのチーム内でも形だけのコーディングルールはありますが、変数・関数の命名規則やコメント記述に関するもの(ネストはダメとか)で、そんなに厳密ではありません。
けれども、この記事を読むと、やはりコードの可読性って大切だなぁと痛感させられます。

たとえば、慣れた人だと簡単な分岐には三項演算子を使用しますよね。

dens = (isNegative ? -1 : 1) * AbsVal;

みたいなやつです。

上記のような簡単な分岐ならそんなにわかりづらくありませんが、たまに三項演算子の分岐先にさらに三項演算子を入れちゃったりして、書いた本人以外はよくわからなかったりする記述を見かける時があります。(書いた本人も、1年後に見たらわからないんじゃないのか?)

確かに見た目はかっこいいですが、インターフェースの記事は、そのようなトリッキーな記述は(実行性能に影響が無ければ)するべきではないとのニュアンスで書かれています。
たとえば、ジャンボジェットのパイロットはアクロバット飛行も出来るけれど、決してそんな無茶はしない。
同じように、優秀なプログラマは、傍から見ていて頼りないと思えるほど保守的なコードを書くそうです。
実行性能に影響が無ければ、保守性を選ぶわけですね。
(保守性はJIS X 0133で定められたソフトウェア品質特性モデルのひとつですから、当然といえば当然なのかもしれませんが)

ちなみに、うちのソフトのリーダーは、たとえif文の分岐先が1行しかなくても、必ず括弧で囲むそうです。
僕は囲まない派(改行もしない)だったのですが、指摘を受けて最近はきちんと囲むようになりました。
(リーダーは制御系ではなくアプリ系出身ですが)

以前は
if(isOk) return true;
else return false;

と書いていたのが

if(isOk){
 return true;
}
else{
 return false;
}

と。
ちょっとカッコ悪いですが、まさに教科書通りの記述になった訳ですね(笑)

ただ、保守性と効率性は、やはりトレードオフになる部分もあると思います。
特に組み込み・制御系といった、リソースに限りがあり、リアルタイム性も求められる分野ではなおさらです。

必要な部分は多少トリッキーに
そうでない部分は保守性を重視して。。。

そんな風に、どの1行をとっても理由が付けられるようなプログラマになりたいものです。
関連記事
スポンサーサイト
コメント
コメントの投稿
トラックバック URL
トラックバック
ご訪問者様
プロフィール

ゆってぃ

Author:ゆってぃ
経歴7年の組み込み系・制御系エンジニアです。
("ど素人"という文言は取りました…笑)
ソフトウェア開発経験ゼロの状態から、なんとか実務がこなせるようになってきた現在に至るまでの経験を、備忘録代わりに綴っていきたいと思います。
入門者の方、大歓迎!
(上級者の方、ごめんなさい…)

あと、ブログには全然関係ないですが、Bumpy Headというバンドのギターをやっています。
ライブ情報なんかも書いたりすることがあるので、その時に「行ってもいいよ~」といった感じのコメントを戴けると、泣いて喜びます(泣)
ブログ読んでくださってる方なら、チケット代サービスしちゃいます!

最後に…滅多に流用することは無いでしょうが、このブログに書かれているソースは、特に指定の無い限りMITライセンスとします。ただし、一部それ以外のものもございますのでご注意下さい。
※ブログのリンク先にあるコードに関しては、リンク先のポリシーに従ってください。

最新記事
最新コメント
カテゴリ
RSSリンクの表示
メールフォーム

名前:
メール:
件名:
本文:

twitter
リンク
ブロとも申請フォーム
スポンサードリンク


上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。