タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

programingに関するMakkon810501のブックマーク (2)

  • リファクタリングとヒステリシス - カタチづくり

    リファクタリングとはソースコードのエントロピーを小さく抑えることであり、これを言い換えれば「設計のヒステリシスを小さく抑えること」なんじゃないかと思う。 例として、機能A と 機能B の2つの機能を備えたソフトウェアの開発を考えてみる。 最初から 機能A と 機能B の2つの機能が必要であることを知っていれば、全体を見渡した奇麗な設計は比較的容易である。最初から 機能A と 機能B に共通の構造を抽出することも出来るだろうし、抽象化されたインターフェイスを用いたオブジェクト指向設計も出来るだろう。 しかし、現実には最初から全体像を知ることは難しい。まず 機能A の機能を要求され、次に 機能B の機能が要求される。あるいは逆の順序で、最初に 機能B が要求されて次に 機能A が要求される。最初の機能に着手している時点では、そのあとに要求される機能のことは全く知らされていない状態だ。 次の3つ

    リファクタリングとヒステリシス - カタチづくり
  • プログラマー面接時の技術的な質問事項(アプレッソ版) - 解答編 : 小野和俊のブログ

    昨日、プログラマー面接時の技術的な質問事項(アプレッソ版)を書いたところ、「自分ならこう答える」というエントリを書いてくれた人が何人かいて、個別にコメントしようかとも思ったのだが、昨日のエントリだけだと質問の投げっぱなしになってしまうところもあるので、解答編を書くことにした。 なお、「面接の質問項目を公表しちゃっていいの?」という指摘もあったが、ブログに書いたのはあくまでも質問項目の一例だし、解法を検討する過程を見れば普段どんな風に開発しているのかはだいたいわかるので、特に問題ない。 for (int i = 0; i < list.getLength(); i++) {}の潜在的パフォーマンスボトルネック list.getLength()がlist.getLength()回評価されてしまう。具体例としては、JREに標準で付属するDOMのライブラリのNodeListの実装はlist.get

    プログラマー面接時の技術的な質問事項(アプレッソ版) - 解答編 : 小野和俊のブログ
  • 1