タグ

2011年9月27日のブックマーク (6件)

  • 普通の構造化プログラマーがオブジェクト指向の存在意義を理解するコツ - 達人プログラマーを目指して

    オブジェクト指向言語の存在意義を理解するのは難しい? id:amapetasさんによる、ちょっと興味深い記事がありました。 オブジェクト指向言語が流行した必然性について考える(1) - Programmer’s Log そして、その記事の中で説明されているのですが、やはり、C言語など構造化言語のプログラマーにとってはオブジェクト指向の存在意義を理解するのがなかなか難しいところがあるようですね。 初心者向けの書籍を最近読んでいないので、最近の書籍ではうまく説明されているのかもしれませんが、そんな話を聞いたことがないので、たぶん今でもオブジェクト指向に関する説明の始まり方は 「世界は全部オブジェクトで出来ているんじゃぁぁーーー」 という「オブジェクト至高教への洗脳」から始まっているものと推察しますw テンション高めの説明から入るのでドン引きする人多数な感じがかなりアレですね。オブジェクト指向の

    普通の構造化プログラマーがオブジェクト指向の存在意義を理解するコツ - 達人プログラマーを目指して
  • モックによるインターフェイスの発見 - Digital Romanticism

    設計ツールとしてのモックの使い方について考える。 導入 先日、"Mock Roles, not Objects"の日語版「ロールをモックせよ」を公開しました。この論文は2004年に書かれたもので、著者はSteve Freeman氏、Nat Pryce氏、Tim Mackinnon氏、Joe Walnes氏という豪華メンバーです。また、Steve Freeman氏とNat Pryce氏は『Growing Object-Oriented Software, Guided by Tests (Addison-Wesley Signature Series (Beck))』(いわゆるGOOS)の著者でもあり、"Mock Roles, not Object"で語られている思想はGOOSのベースになっているとも言えます。 今回は、この"Mock Roles, not Objects"(以下、MRnO

    モックによるインターフェイスの発見 - Digital Romanticism
    syuu256
    syuu256 2011/09/27
  • プログラミングが速く組めるようになる初歩的な3つの心掛け - 遥か彼方の彼方から

    プログラム雑用兼プログラマーとしてアルバイトしていた頃のこと。僕の最初の悩みは、どうすればもっと速くプログラミングできるか、でした。訳あって3時間ほどしかバイト時間を確保できなかったうえ、雑用もしていたので、気付くとほとんどコードを書かずに一日が終わるなんてこともよくりました。急がなくてもいいとは言われてはいたものの、プログラミング能力が低くて、要領も悪い僕としては、せめて時間内に終わらせられる程度にはプログラミングが速くなる必要があったのです。とはいえ、すぐにプログラミングが上手くなることなんて出来無い。だからせめて、プログラムで詰っている時間を減らせさえすれば、今よりもよくなるんじゃないか、とそう考えるようにしました。そう意識してからの作業は徐々に速くなり、最終的になんとか仕事についていけるようになっていたかなと思います。ということで、前置きが長くなりましたが「プログラミングが速く組め

  • 工数見積もりで陥りやすい罠 - プログラマの思索

    「ソフトウェア見積り」を読んだ後に「アジャイルな見積りと計画づくり」を読み直したら、とても理解しやすかった。 理解できたことをメモ。 間違っていたら後で直す。 ※追記:一部修正した。 ※追記:Velocityの計算方法を「塹壕よりScrumとXP」から参照するようにした。 【元ネタ】 Twitter / @akipii: 見積について色々考えている。1.0MD(人日)という単位は規模・出来高・工数という複数の意味を持ち混乱しやすいから、ソフトウェア開発の計画づくりに支障をきたしているのではないかという仮説を考えている。その考えを深めるとScrumのストーリーポイントはよく考えられた概念だと思う。 アジャイルサムライで一番難しくて面白い概念~Velocity: プログラマの思索 ソフトウェア開発に特有な技術~ソフトウェア見積り: プログラマの思索 チームは加速するのか~Velocityの使い

    工数見積もりで陥りやすい罠 - プログラマの思索
  • プログラミングは「名前」が9割。 - このブログは証明できない。

    プログラミングというのは、名前をつける行為なんだと思う。 プログラミングで一番大切なこと。 もしも、プログラマーじゃない人に、「プログラミングで一番大切なことは?」と聞かれたら、迷わず「名前」だと答える。もちろん、人それぞれだし、自分はスキルの高いプログラマーじゃないよ、と前置きして。 名前が9割と言ったときの、9割という部分は人によってだいぶ差があるんだと思う。もっと小さいかもしれない。けれど、名前が重要だという点に関しては、反対するプログラマーはいないんじゃないだろうか。 時代や環境で変わる名前。 いま僕がイメージしてる名前というのは、変数名だったり関数名だったりクラス名だったり、とにかくいろいろ。さらに、JavaScriptとか高階関数をバリバリ使うような場合など、名前をつけないという選択肢もある。 なんとなくJavaScriptと書いたんだけど、名前はプログラミング言語や開発環境や

    プログラミングは「名前」が9割。 - このブログは証明できない。
  • オフェンシブな開発〜「納品しない受託開発」にみるソフトウェア受託開発の未来 | Social Change!

    定期的にSI業界が終わったという話が出ますが、当にそうでしょうか。終わるべきは一括発注・請負のディフェンシブなビジネスモデルです。受託はなくなることはありません。ソフトウェアの開発を、他の業界のアナロジーで考えるのではなく、正面から取り組んだビジネスモデルについて語っています。 ディフェンシブな開発 今から5年前に、SI業界における多くの問題の原因がそのビジネスモデルにあるという「ディフェンシブな開発〜SIビジネスの致命的欠陥」という記事を書きました。SIにおけるビジネスモデルは、発注者とベンダーはあらかじめ決めた金額と要件の中で納品と検収を目指すため、利益を出すためには双方がリスクを取らずに「守り」に入る必要があります。その結果、顧客にとって価値を産むかどうかよりも決められた要件通りに作られることを重視することになってしまいます。人月という単位であらかじめ決めるとなれば、単価の安い下請

    オフェンシブな開発〜「納品しない受託開発」にみるソフトウェア受託開発の未来 | Social Change!