kagamihogeの日記

kagamihogeの日記です。

プログラムの設計

わたしがアルゴリズムをまなぶ理由

先日、何時ものように地元の最寄り駅に帰ってきて、駅前のタクシー乗り場を横目に帰路に着こうとしたとき「おやっ?」と思った。最近整理されて稼動し始めたタクシープールはこんな感じになっている。 某駅のタクシープール タクシーは 赤の番号順で、じゅん…

リッチなアプリ開発はデータバインディングが一つのキモ

リッチインターネットアプリケーション(RIA)の開発では、ある技術がデータバインディングをサポートしているかどうかとそのやりやすさが、一つのポイントになる、と感じている。俺がデータバインディングという概念を初めて意識するようになったのは、Flex…

続・オブジェクト指向は大切と言うけれど

http://d.hatena.ne.jp/kagamihoge/20070901の続き。 それも大切だけど,そんなのはプログラマの基本で常識だろと. オブジェクト指向と相対性理論 - カレーなる辛口Javaな転職日記 やはり世間一般の認識はそうなのかな…。 火噴いたプロジェクトに応援として…

オブジェクト指向は大切と言うけれど

デザインパターンなんかのオブジェクト指向に因る技術が大事なのはよくわかる。けれど、それって本当にそんなに重要なものなのかな。むしろ CODE COMPLETE 第2版 上 とか Cプログラミング診断室 とかで書かれてるような、一行一行を大切に書く心がけのほう…

フローチャートのプロフェッショナル

つい先日、新人さんたちがどんな研修やってるのか見る機会があった。そこで、ふと新人さんたちの机の上に研修成果と思しきあるものがあったのだが・・・正直めまいがしてしまった。そこにあったのは・・・ 方眼紙にミッチリキッチリと描かれたフローチャート誰が見…

プログラマーがコンピュータを使わないシステムを提案してもいい

大学のとき大変お世話になった先生 - プログラミングの師匠 - の言葉。なぜか急に思い出した*1。何かしらの情報システムを作る時にプログラマーがコンピュータを使わない解決策を提案することには大きな価値がある、といった意味。プログラマーはコンピュー…

フローチャート+意味

yahoo から「フローチャート+意味」で検索してウチに来てる人が先日から 10 人弱いる。まぁ、求めてるものはCプログラミング診断室/上司が問題/フローチャートに詳しいので、そちらをどうぞ。 時節的におそらく新人さんが疑問持って調べてるのだと思うが、…

きになる if 文

下のような if 文はなんとなくきになる。if (hoge_status == READY_OK) { // ステータスが OK のときの処理 }C に限らずこのテのフラグチェックをする if 文はありがちだけど、やっぱり気になる。if (is_hoge_status_ready(hoge_status)) { ... }メソッド名…

new という名の変数

今日見かけたソースコード。HOGE_STRUCT* new;new = construct_hoge();C なんで new は変数名として使える。使えるけど・・・違和感バリバリだ・・・。

ソースコードの距離

関連性の高い関数とか変数とかはできるだけ近い場所に置いてほしいなぁ、と思うのは読み手のワガママかしらん。[hoge.c]void init_sub1(){...}; void init_sub2(){...}; void init_sub3(){...};void init(){...}; void exit(){...};init から init_sub1 〜 3…

メソッドに対応関係を持たせる

バグ出した、ってわけでもないんだけど。ちょっと気になったコードがあったので。amazon:Code Complete第2版〈上〉―完全なプログラミングを目指して曰く、 〜良いルーチン名のガイドラインより ■正確な反意語を使用する 反意語の命名規則を設けると、一貫性…

僕、フローチャート要らないよ

提出する設計書にはフローチャートを含めてください (フローチャートの)チェックが終わるまでコーディングはしないでください 何この石器時代我々は下請けなわけで、元請の人たちが指定してきたやり方を受け入れるしかないわけなんですが、これはマジありえ…

オブジェクト指向でやるということ

昨日のUML→Cの記事の反応を見て回ってたんですが、みんなボロクソに言ってますね。「こういうやり方もあるんだぁ」的見方なら、評価する点はあると思うけど・・・。Cらしくない異様なコードになるんだったら、素直な書き方したほうが楽じゃん、てのには同意だけ…

UMLモデルをどうやってC言語に落とし込むか

UMLモデルをどうやってC言語に落とし込むか今、正に直面してる問題に関しての記事。設計をUMLで書いてるわけじゃないんだけど、長らくJavaやってきたので、その知見をCに活かす方法は模索中なのです*1。とはいえ、記事は当り障りない範囲に収まってる感じで…

pukiwikiをはじめてさわる

果てしなくイマサラではあるんですが、pukiwikiに文章載せるってことをはじめてやりました。ここ数日、仕事に必要な情報をwebや書籍で収集し、それをまとめてwikiにまとめる作業をしてました。wikiの有用性は前々から色々聞いてはいたものの、自分でさわるこ…

机上デバッグは過去のはなし?

先日、他プロジェクトのリーダーさんと飲んでたときの話。昔と今の開発環境の違いについて。今はコンパイル一瞬で終わるから楽だよなぁーって言う典型的な思い出話です。makeかけて「よーしメシでも食いに行くか」とかの時代生きてきた人なわけです。そうい…

言語良し悪し

最近、何年かぶりにCを書いたり読んだりしている。・・・のだが、もうJavaに戻りたくなってきた。 よく、複数の言語知ると色々な言語の良い面悪い面が見えてくる、と言った話を耳にしますが、今ホント実感しています。 ポインタ 言語の歴史は、危険な動作をプロ…

フレームワークは何をどこまで扱えるか

JSFを触る機会があったので、そのときに感じたこと。主要なWebアプリケーションのフレームワークはStruts以外ほとんど知らないので、それとの比較になるけど、JSFは随分洗練されているなぁ、と。簡単なサンプルアプリ(JSFに付いてる車のヤツとか)しかまだ…