不吉な匂いとは、リファクタリングを必要とするコードから感じられる雰囲気を、比喩で表したものです。 ここでは、感じ取った不吉な匂いに対して、どのような解決法を選ぶことができるかを取り上げます。 匂いとして示されているのは、次の22のケースです。ひとつずつ見ていきましょう。 また、解決法に添えられている数字は、参考書籍「リファクタリング」の何ページに記されているかを示しています。
不吉な匂いとは、リファクタリングを必要とするコードから感じられる雰囲気を、比喩で表したものです。 ここでは、感じ取った不吉な匂いに対して、どのような解決法を選ぶことができるかを取り上げます。 匂いとして示されているのは、次の22のケースです。ひとつずつ見ていきましょう。 また、解決法に添えられている数字は、参考書籍「リファクタリング」の何ページに記されているかを示しています。
<?php /** * 時間を指定すると、対応する挨拶を表示するよ! */ function greet($hour) { if ($hour > 4 && $hour < 12) { echo "Good Morning!" . PHP_EOL; } elseif ($hour > 12 && $hour < 18) { echo "Good Afternoon!" . PHP_EOL; } else { echo "Good Evening!" . PHP_EOL; } } greet(8); // Good Morning! greet(15); // GOod Afternoon! greet(21); // GOod Evening! # coding=utf8 def greet(hour): """時間を指定すると、対応する挨拶を表示するよ!""" if 4 < hour <
基本は喰ってるか飲んでるかですが、よく趣味でカラオケ・PKI・署名・認証・プログラミング・情報セキュリティをやっています。旅好き。テレビ好きで芸能通 私はJavaScript実装の暗号ライブラリ jsrsasign(注:RSAだけじゃないよ!) を開発などして遊んでいるわけですが、 そんな矢先、先週ぐらいですかねぇ、PKI.js(http://pkijs.org/) というJavaScript暗号ライブラリが公開されました。 ぶったまげたのはpure JavaScriptなのにOCSPやCMS SignedDataやTimeStampなんか に対応しているのだそうです。さらに凄いのはNIST PKITSのテストも通すせるような認証パス検証(証明書のチェーンの検証)機能も実装されているのだそうです。 先を越されて悔し〜〜〜って感じ。 ようやく時間ができたので、ちょっと動かしたりしてみたのでブ
XPが注目を集めている昨今では、リファクタリングという言葉を聞いたことのある人は、結構多いことでしょう。この特集記事は、リファクタリングについて扱います。参考書籍「リファクタリング」の中に出てくる言葉で、私が一番好き、というよりも、心に留めている言葉があります。「すぐれたプログラマは人間にとってわかりやすいコードを書く」という言葉ですが、 これこそリファクタリングを表す言葉として非常に適切だと思います。
iPhoneの通信先IPアドレスが知りたくて、いろいろインストールしてパケットキャプチャできる環境を整えたので紹介します。ところどころつまづいたところは、フォローしてあります。 目次 1. きっかけと目的2. 準備2.1. Xcodeをインストール2.2. XQuartzをインストール2.3. WireSharkをインストール2.4. iPhone端末のUDIDをコピーする2.5. RVIを作成する3. パケットキャプチャする3.1. Wiresharkを起動する3.2. キャプチャ開始4. 参考 スポンサーリンク きっかけと目的 今回はiLoveMusicというアプリの通信先を調べるために導入しました→無料音楽アプリiLoveMusicの調査結果 準備 まず、次の3つをインストールします。 Xcodeをインストール(Xcode 5.1.1) XQuartzをインストール(XQuartz-
最近自分で非同期前提のプラグイン書くときはThenableな感じで書いてることが多い。 Thenableってのはどういうことかというと、typescirptのes6-promises では次のように定義してある。 interface Thenable<R> { then<U>(onFulfilled: (value: R) => Thenable<U>, onRejected: (error: any) => Thenable<U>): Thenable<U>; then<U>(onFulfilled: (value: R) => Thenable<U>, onRejected?: (error: any) => U): Thenable<U>; then<U>(onFulfilled: (value: R) => U, onRejected: (error: any) => Thenab
まったく個人的なモチベーションの問題から、前回の最終更新から2年以上が経過してしまい、多くの読者のみなさんにはご心配をおかけいたしました。「プログラミングに関して調べたことや日々感じたことをメモとして残していきたいと思います。」というもともとの原点に立ち返って、あまり気負わずに、また今後も時々更新していけたらと思います。今までこのブログの主なテーマとして、JavaEEやSpringといったような、いわゆる業務開発で使われるような技術を中心としてきたわけですが、最近Springを使ったJavaの開発に(アーキテクトではなく)プログラマーとしてちょっと参加する機会があったので、その時気づいたこと、感じたことを書いてみたいと思います。 さて、皆さんはアーキテクチャやアーキテクトという言葉に対してはどのようなものをイメージするでしょうか。システムのセキュリティを確保するための方式であったり、大量の
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く