タグ

programmingに関するbakockのブックマーク (9)

  • A case study of Apache peer/code review processes

    InfoQ Software Architects' Newsletter A monthly overview of things you need to know as an architect or aspiring architects. View an example

    A case study of Apache peer/code review processes
    bakock
    bakock 2007/08/03
    Apache Projectのレビュー方法。Commit-Then-Review (CTR),“Review Early, Review Often”,“what is the fix for the defect”
  • 理解することが書き直すことを意味するとき

    Jeff Atwood / 青木靖 訳 2006年9月18日 開発者に時間をどう使っているか聞いたなら、彼らはほとんどの時間コードを書いていると答えるだろう。 しかし、ソフトウェア開発者が時間を実際どう使っているか観察したなら、ほとんどの時間をコードの理解に使っていることがわかる。 ピーター・ハラムがこのことについて説明している。 どうしてコードを新規に書くより5倍もの時間をコードの修正に使っているのか? それは新規のコードはほとんどすぐに古くなるからだ。何か新しくコードを書く。コーヒーを飲んで一服する。すると突如として、コードは古いコードになっている。できたてのコードはせいぜい初期のデザインしか反映していないが、デザインの多くの部分は前もって現われるものではない。開発プロジェクトの多く が反復的開発手法を使っている。デザイン、コーディング、テスト、繰り返し。たくさんの繰り返し。すべてが新

  • Martin Fowler's Bliki in Japanese - インタフェースと実装のペア

    http://martinfowler.com/bliki/InterfaceImplementationPair.html すべてのクラスをインタフェースとペアにする手法である。 たとえば、ICustomerとCustomer、CustomerとCustomerImpl?のようなペアができる。 この場合、インタフェースと実装の型が分かれてしまうが、 これは、各クラスにヘッダファイルを付けるというC/C++の慣習を踏襲しているためである。 この手法のメリットは、 インタフェースの実装を別のものにすることで、 いつでも丸ごと入れ替えることができる点である。 ただ、私はこの手法があまり好きではない。 複数の実装がないのにインタフェースを使ってしまうと、インタフェースと実装とを同時に変更しなければならない分、手間がかかるからだ(IDEが補完してくれるが、やはり面倒だ)。 また、これだと裏に複数の

    bakock
    bakock 2007/03/02
    すべてのクラスをインタフェースとペアにする手法 キライ。僕もキライ。
  • 講師ヤザワのセミナー日記[8] アルゴリズムをプログラムに置き換える秘策を伝授します

    私の経験上、最近のIT企業の新人研修で人気があるプログラミング言語は、ダントツでJavaです。ただし、Javaの言語構文だけマスターしても、プログラムを作れるようになれません。アルゴリズムの考え方を学び、アルゴリズムをプログラムに置き換える練習が必要です。そんなわけで、アルゴリズムをJavaプログラムに置き換えることをテーマとしたセミナーの要望が多くあります。セミナーの一部をWeb上で再現させていただきます。 ソート(整列)のアルゴリズムとして有名な「バブルソート(babble sort)」の手順をお教えしましょう。アルゴリズムは、丸暗記して覚えるものではありません。自分なりにアルゴリズムのイメージをつかむことが大事です。 バブルソートのイメージをつかむ例として、こんなのはいかがでしょう。皆さんは、小学校の体育の先生になったとします。ゼッケンを付けた5人の生徒に「全員集合!」と声をかけたと

    講師ヤザワのセミナー日記[8] アルゴリズムをプログラムに置き換える秘策を伝授します
    bakock
    bakock 2007/02/19
    プログラムに実況中継させるってのはいいな
  • なぜ関数プログラミングは重要か

    John Hughes, Institutionen för Datavetenskap, Chalmers Tekniska Högskola, 41296 Göteborg, SWEDEN. rjmh@cs.chalmers.se この日語訳は原著者の承諾を得て山下がここに公開するものです。 この訳文についての、御指摘などは山下伸夫(nobsun .at. sampou.org)までおねがい いたします。 翻訳最終更新日 : 2011-09-17 原文 "Why Functional Programming Matters" 日語訳PostScript この論文は1984年以来何年ものあいだChalmers大学のメモとして回覧された。 1989年と1990年に幾分か改訂をしたのが[Hug89]と [Hug90]である。この版はもとのChalmer大学のメモ のnroff原稿をもとに

  • 継続 - Wikipedia

    この項目では、プログラムの継続について記述しています。「継続」の語義については、ウィクショナリーの「継続」の項目をご覧ください。 計算機科学における継続(けいぞく、continuation)とは、プログラムを実行中のある時点において、評価されていない残りのプログラム(the rest of the program)を表現するものであり、手続き(procedure)あるいは関数(function)として表現されるものである[1]。 継続に相当する概念は1960年代初頭から存在しており、Algol 60のコンパイラの実装[2]などの文献にたびたび登場していたが、継続の利用に関する最も早い記述は、1964年のアドリアン・ファン・ワインハールデン (en:Adriaan van Wijngaarden) によるものである[1]。 概要[編集] 計算一般における継続[編集] Schemeによる次の式

  • 特集:PDC05レポート:動的プログラミング言語へと発展するC# 3.0とVB 9.0(1/4) - @IT

    VBプログラマは、ここ数年.NET Frameworkへの移行で四苦八苦してきた。 「静的型付言語」であるVisual Basic .NET(VB.NET)で従来のVBプログラマがまず叩き込まれるのは、「Option Strict On」である。これによって、Visual Basicコンパイラが「正しい行い」をプログラマに強制する。VBプログラマの苦痛は、VBが中途半端なニセモノプログラミング言語の汚名から解放され、真のプログラマが利用する言語へと進化するための痛みとして認識されている。 .NET Framework 2.0でジェネリックが導入されることになったとき、多くの紹介記事でいわれたことは「これでコレクションに伴う実行時例外の危険が排除され、また1つ静的型付言語が完ぺきに近づいた」ということだった。静的型付言語を利用したプログラムでは、エラーはコンパイル時に捕捉されるもので、実行時

    bakock
    bakock 2005/10/12
    VBって9.0になるのか・・・ で、LL化するの?
  • Organizing Presentation Logic

    There are several ways to split up the logic of the presentation. 11 July 2006 This is part of the Further Enterprise Application Architecture development writing that I was doing in the mid 2000’s. Sadly too many other things have claimed my attention since, so I haven’t had time to work on them further, nor do I see much time in the foreseeable future. As such this material is very much in draft

    Organizing Presentation Logic
  • ナチュラルなコードとは?:An Agile Way:オルタナティブ・ブログ

    題名は、音楽の話に聞こえるかもしれませんが、ソフトウェア開発の話です。 以前、咳さんが体験談として >「お前のコードはナチュラルでエレガントだ」 >と言われた時は うれしかったなあ と語ってくださったことから、ちょっと思い起こしてみました。「ナチュラルなコード」とはなんだろうか、ということを考えてみたい。ぼくは、何かのかインタビューで読んだ、Ward Cunningham の言葉がとても強く印象に残っています。 ...(要約するとこんな感じ)... そのコードは、すばらしいコードだった。ソースリストをプリンタに出力すると、 それは、「どこからでも読み始めることができ、意図が明確だった」 ............................ 「どこからでも読み始めることができる」(!)というのは、オブジェクト指向のよいコードの特徴じゃないだろうか。 (以前、oosquare-ml だっ

    ナチュラルなコードとは?:An Agile Way:オルタナティブ・ブログ
  • 1