タグ

ブックマーク / ameblo.jp/argv (9)

  • 『コピー指向プログラミング』

    以前、「簡単コピー・プログラミングの罠」という記事で、コピー・プログラミングの危険性について書いた。ここでいうコピー・プログラミングとは、同じアプリケーション開発の中で、似た機能を量産するためにソースコードをコピーすることである。同記事には書いていないが、他にも、「バグがコピーされてしまう」問題や、ソースコードが無駄に大きくなるなどの問題もある。 そもそも、プログラミングでは「同じことを何度も書く」ということは避けるべきだ。その理由をあらためてここに書く必要もないだろう。同じことを何度も書かずに済ませるにはどうするか、ということは、構造化プログラミングからオブジェクト指向やアスペクト指向に至るまで、プログラミング技術の発展における重要な課題のひとつだったはずだ。 アプリケーションに固有の「業務ロジック(ビジネスロジック)」なども、開発プロジェクト内で共通化を行い、重複コードをなくすのが理想

    『コピー指向プログラミング』
    Wacky
    Wacky 2008/09/29
  • 『書き込まれる資料作り』

    悪態のプログラマとある職業プログラマの悪態を綴る。 入門書が書かないプログラミングのための知識、会社の研修が教えないシステム開発業界の裏話は、新人プログラマや、これからプログラマを目指す人たちへのメッセージでもある。 このところ、私が仕事中に一番よく使うペンは「フリクションボール 」だろう。パイロットの「消せるボールペン」である。鉛筆代わりに気軽に使え、色も8色あるのがいい。昔から消しゴムで消せるタイプのボールペンはあったが、フリクションは摩擦熱で消えるので、消しカスも出ない。 ちょっとした打合せをするときにこのペンを使えば、普通の紙がホワイトボードのように使えて便利だ。そんなとき、私が書いた字を消すのを見て驚く人も多い。テレビ CM も流れていたし、この業界でも ITmedia Biz.ID で紹介されたりしているのだが、まだそれほど認知されていないのだろうか(ちなみに消せるラインマーカ

    『書き込まれる資料作り』
    Wacky
    Wacky 2007/12/16
  • 『異常系とは何であるか考えよう』

    悪態のプログラマとある職業プログラマの悪態を綴る。 入門書が書かないプログラミングのための知識、会社の研修が教えないシステム開発業界の裏話は、新人プログラマや、これからプログラマを目指す人たちへのメッセージでもある。 システムのテストを行う際、テストの内容を「正常系」と「異常系」に分類することがある。それぞれのテスト項目数や不具合の発生数などを数えて、テストの妥当性や品質の判断に使ったりするのである。 この正常系、異常系という言葉はよく耳にするのだが、その意味は曖昧であることが多い。人によって解釈が違うのである。 例えば、「ユーザーが入力ミスをしたケース」について、「正常な値が入力されていないのだから異常系だ」という人もいれば、「開発者がミスを想定していて、プログラムで入力チェックをしてメッセージを出すなどの処理をしていれば正常系だ」という人もいる。 これは、異常系のテストを、「エラー・ハ

    『異常系とは何であるか考えよう』
    Wacky
    Wacky 2007/06/30
    異常系のテストを、「エラー・ハンドリングのテスト」と捉えるのか、「ハンドリングされていない(開発者が想定していない)事象が発生したらどうなるかを確認するテスト」と捉えるのかの違いである。
  • 『どうして仕事を断らないのだろうか』

    悪態のプログラマとある職業プログラマの悪態を綴る。 入門書が書かないプログラミングのための知識、会社の研修が教えないシステム開発業界の裏話は、新人プログラマや、これからプログラマを目指す人たちへのメッセージでもある。 仕事を頼まれたら断れない人がいる。傍から見ていて出来そうもないと思うような仕事でも引き受けてしまう。つい横から口を挟みたくなるが、人が「出来る」と言っているのに、他人が「出来ないだろう」などと言うのも失礼だと思い、黙っている。しかし、案の定、期限が来ても仕事は終わっていない。 もちろん、何らかの理由で仕事が遅れるようなことはよくある。そういう場合は、可能な限り早く「出来そうにない」と言うのが誠実な対応である。しかし、期限が来るまで黙っていて、当日になってから「出来てません」などと言う人もいる。そういう人に限って、「明日までにやります」などと言うが、やはり出来ないのだ。 そう

    『どうして仕事を断らないのだろうか』
    Wacky
    Wacky 2007/04/14
    何か仕事を引き受けるというときには、本当にそれが出来るのか、ということを相当慎重に考えてもらいたいと思う。
  • 『外見も重視してください』

    悪態のプログラマとある職業プログラマの悪態を綴る。 入門書が書かないプログラミングのための知識、会社の研修が教えないシステム開発業界の裏話は、新人プログラマや、これからプログラマを目指す人たちへのメッセージでもある。 顧客から、既存システムの画面に注釈を表示して欲しいという依頼があり、画面上に数行の文章を追加したイメージ画像が送られてきた。 ちょうど手が空いた外注のプログラマがいたので、その画像を渡して、プログラムを変更してもらった。といっても、画面をデザインするツールを使って、「ラベル」を張り、文字列を書くだけの簡単な作業だ。 しかしである。後で出来上がった画面を確認すると、顧客から送られてきた画像と、かなり印象が違っていた。追加した文章の「行間」が開きすぎているのだ。 作業をお願いしたプログラマに指摘して直してもらってもよかったのだが、そのまま自分で修正した。そのほうが早かったし、彼も

    『外見も重視してください』
    Wacky
    Wacky 2006/12/08
    プログラマの中には、このようなシステムの動作に関係ないようなことはどうでもよいと思う人もいる。しかし、どうでもよいのなら、依頼者の意向に合わせてやればいいではないか。
  • 『仕事が好きですね』

    悪態のプログラマとある職業プログラマの悪態を綴る。 入門書が書かないプログラミングのための知識、会社の研修が教えないシステム開発業界の裏話は、新人プログラマや、これからプログラマを目指す人たちへのメッセージでもある。 学生時代にアルバイトをしていた時の話である。職場の課長は、バリバリと仕事をこなすタイプの女性だった。いつもフロアを駆け回って指示を出し、誰よりも遅くまで残業していた。何より、「業務改善」ということに対して意欲的なのは確かだった。私がそこで作ったプログラムのほとんどは、その職場の業務を助けるためのツールだったのだ(※1)。 ある時、私が、 「仕事が好きですね」 と言うと、どういうわけか、嫌な顔で否定された。 しかし、私は、好きでなければ仕事にそこまでのエネルギーを注げないだろうと思った。「否定はしているけど当は好きなんだろう」と、勝手に信じていたのである。 しかし、今になって

    『仕事が好きですね』
    Wacky
    Wacky 2006/09/22
    仕事が好きなように見える人ほど、実は、仕事が嫌いなのかもしれない。
  • 『たとえトラックにはねられても』

    悪態のプログラマとある職業プログラマの悪態を綴る。 入門書が書かないプログラミングのための知識、会社の研修が教えないシステム開発業界の裏話は、新人プログラマや、これからプログラマを目指す人たちへのメッセージでもある。 プロジェクトリーダーのAさんが明日死んでしまったら、このプロジェクトはどうなるのだろう? ユーザー要件を一番把握しているB先輩が入院したら? 複雑な運用を1人で任されているC君が突然会社を辞めてしまったら? そんな妄想をしてヒヤリとしたことはないだろうか? システム開発に限らず、プロジェクトのチームでは、多かれ少なかれ、各メンバーで役割を分担しながら仕事を進めるものだろう。 しかし、仕事を完全な分業にしてしまうと、誰か1人でも欠けてしまったら、プロジェクトが止まってしまう。納期ギリギリにスケジュールされているような場合は致命的である。 そのプロジェクトから、何人のメンバーが欠

    『たとえトラックにはねられても』
    Wacky
    Wacky 2006/08/05
    トラックナンバーは、プロジェクト内の「情報共有の度合い」を表していると言ってもいいだろう。
  • 『続・プログラマは誰でも同じ?』

    悪態のプログラマとある職業プログラマの悪態を綴る。 入門書が書かないプログラミングのための知識、会社の研修が教えないシステム開発業界の裏話は、新人プログラマや、これからプログラマを目指す人たちへのメッセージでもある。 システム開発の業界では、1人の人間が、1ヶ月で行うことのできる仕事の量を、1人月(いちにんげつ)という。同様に、1日分の仕事量なら1人日(いちにんにち)である。 この単位は、システム開発の規模を見積もる場合や、プログラマなどの要員を作業に割り振る場合に使われる。例えば、10人日の作業量として見積もられた仕事に、2人のプログラマを投入すると、5日で出来るだろうというわけだ。 この「人月」という考え方は、今でも多くの場面で使われているが、昔からいろいろな問題点が指摘されており、非常に取り扱いが難しいものである。普段、「人月」という単位を何気なく使っている人も多いと思うが、一度、立

    『続・プログラマは誰でも同じ?』
    Wacky
    Wacky 2006/08/05
    品質の悪いプログラムは、良いプログラムに比べて、何倍もの時間を掛けてテストやデバッグを繰り返さなければならないため、全体的な作業量が爆発的に増加するのである。
  • 『とにかく保存すれば安心だろうか?』

    悪態のプログラマとある職業プログラマの悪態を綴る。 入門書が書かないプログラミングのための知識、会社の研修が教えないシステム開発業界の裏話は、新人プログラマや、これからプログラマを目指す人たちへのメッセージでもある。 先日、Excel の文書ファイルを開いたら、複数のワークシートが選択された状態になっていた。このファイルはワークシートごとに月単位のデータを管理しているものだ。嫌な予感がして、2つ目のシートを見てみたら、案の定、先月のデータが今月のデータに上書きされてしまっていた。 Excel では、複数のシートを選択したまま編集すると、ちょうど複写紙のように、選択された全てのシートを "串刺し" で更新できる。いわゆる「作業グループ」という機能である(※1)。それはそれで便利なのだが、複数シートを選択していることを忘れて編集してしまうと、意図せずに別のシートの内容を破壊してしまう。 今回の

    『とにかく保存すれば安心だろうか?』
    Wacky
    Wacky 2006/07/29
    Excel では、複数のシートを選択したまま編集すると、ちょうど複写紙のように、選択された全てのシートを "串刺し" で更新できる。いわゆる「作業グループ」という機能である
  • 1