タグ

ブックマーク / www.hyuki.com (6)

  • WritingTestableCode - テストできるコードの書きかた

    WritingTestableCode - テストできるコードの書きかた 目次 この文書について まずいのその1: コンストラクタがやりすぎ まずいのその2: 深い仲になってしまっている まずいのその3: 脆いグローバルな状態とかシングルトンとか まずいのその4: クラスがやりすぎ テストできるコードの書きかた この文書について "Guide: Writing Testable Code" の日語訳です http://misko.hevery.com/code-reviewers-guide/ 推敲歓迎: 誤訳, タイポ, 訳語の不統一, そのほか... TODO: 各 Flaw のリンク先も訳す Misko Hevery コードをベストな状態に保つために、 我々は Google でソフトウェアエンジニアに以下のようなをガイドを定期的に送っていた。このガイドを共有できてうれしいね。 この

  • センスについて

    生徒 「プログラムはセンスで書くんですか。インスピレーションで書くんですか。」 先生 「プログラムはプログラミング言語で書くんですよ」 私があの「会話」を『Java言語プログラミングレッスン』で書いたのは プログラムをこれから学ぼうという人にセンスだのインスピレーションだのと 言っても何の役にも立たないと思ったからです。 センスだのインスピレーションだのという前にやるべきこと、 できることはたくさんあると思うのです。 もともと、プログラムの世界でみんながやろうとしていることの1つは、 「天才のひらめきがなくてもよいプログラムを作るにはどうするか」ということです。 コンパイラなんかはそのいい例ですね。 それなのに「プログラムを書くにはセンスが必要」と言ってもねえ、 と思うのです (センスやインスピレーションが不要だと言いたいわけではありませんが)。 私が好きなのは、 『Perl言語プログラミ

    TransFreeBSD
    TransFreeBSD 2005/12/01
    物事を分割できること、コンピュータの気持ちになれることが大事かと思っている
  • 学ぶということ、教えるということ

    朝、ひげをそりながら青ラクダを読み、Perlの勉強。 プログラミング言語のを読むのは面白い。 自分でわかっていると思っていたことでも、 細かな点で誤っていることがわかったり、 より「その言語の特徴を生かした」解法が解説してあったりするからだ。 学んだ成果はメールマガジン『Perlクイズ』に反映するつもりである。 私の経験上、 プログラミング言語を学ぶときには、 人に教えるつもりで学ぶと、とてもよく身につく。 だから、を書くと、とてもよく身につく。 「を書く」というのは「人に教える」ということにほかならないからだ。 これはプログラミング言語に限らないかもしれない。 そもそも、理解できなければ教えられないじゃないか、って? それはそうだけれど、まず「教えるつもり」になるのだ。 教えるつもりになる。理解した分だけをまず人に教える。 教えているうちに、自分が何を理解していないのかが浮き彫り

    TransFreeBSD
    TransFreeBSD 2005/12/01
    この点でもはてなおやメソッドは有効かもしれない
  • 結城さん自身はどういう参考書でJavaを学んだのですか

    質問 結城さんも、Javaを始めたときは苦労なさったのでしょうか。 結城さんがJavaにふれた頃は、情報も少ないときだったのではありませんか。 いったいどういう参考書で学習して、を書くまでになったのでしょうか。 それが知りたいです。 回答 お手紙ありがとうございます。 Javaを学ぶとき、結城が参考にしたのはJava Language Specification(JLS)と、 JDKに付属のJava API Referenceです。 JLS () JLS (HTML) JLSを読みながら、小さなプログラムを書き、 JDKで実際に動かしてみる。 Javaのクラスライブラリのソースを読んでみる。 既存のソースが公開されているソフトを解読したり、 自分で手を入れてみたりする。 そういう地道な、ぱっとしない作業の積み重ねです。 学問に王道なし、といいます。 プログラミング言語を学ぶのも同じです

    TransFreeBSD
    TransFreeBSD 2005/12/01
    Perlは青ラクダ本で学んだ。C++も本を持っている。その他、特にプログラミングは何で学んだか覚えていない。
  • どのようにしたらプログラムを1から書けるようになるのでしょうか

    Java言語プログラミングレッスン』の熱心な読者からの質問(抜粋) 結城先生の書かれたプログラムを図に書いてみて理解することはできるのですが、 練習問題などで、自分だけでプログラムを作ってみるとなると、とても難しいです。 どこをfor文にして、どこをメソッドにすればいいのかという点がみえてこないのです。 どのようにしたらプログラムを1から書けるようになるのでしょうか。 結城の返事 練習です。いろいろ書いてみる練習。他の人のプログラムを読む練習。 プログラミング言語は言葉ですから、練習し、使っていくうちに身についていきます。 それから、正解は一つだけではありません。 に書かれているのは一例にすぎず、 そこからあなたが自分で考えて変形させたり、 もっとよい方法を考え出したりするのです。 Enjoy Programming! 読者からの返信(抜粋) いつも丁寧にお答え頂いて当にありがとうご

    TransFreeBSD
    TransFreeBSD 2005/12/01
    まずは9から/今はCよりLLかも/はてなおやメソッドは有効だと思う
  • [結] 結城浩の日記「購入より購読・プログラムよりサポート・完成より進化」という傾向に対するネーミング

    目次 2005年10月31日 - まだ名前のない実験ページ / 2005年10月30日 - 「再帰的な木を描くJavaのソースコード」を公開 / 「さまざまな方のための祈り」を更新 / 2005年10月29日 - 「ミルカさんとフィボナッチ数列」のLaTeXファイル公開 / 2005年10月28日 - わたっていく言葉 / ながれていく時間 / 仕事 / みなさんからのメッセージを読む / 『改訂第2版Java言語プログラミングレッスン』無料プレゼント抽選 / 2005年10月27日 - 夜 / / 朝 / 2005年10月26日 - 夜 / 自分の理解を確かめて学習するということ / 朝 / 2005年10月25日 - 日記ダイジェストを更新 / 必要条件と十分条件 / 仕事 / おはようございます / 2005年10月24日 - コクヨのSlimB5ノートを使った感想 / 2005

  • 1