タグ

ブックマーク / www.s34.co.jp (3)

  • 株式会社エス・スリー・フォー » Refactoring C-code

    Refactoring C-code ここに挙げるリファクタリングの例は、 「リファクタリング」 マーチン・ファウラー トッパン/ISBN4-89471-228-8 に列挙されたJavaによるサンプルの中から、Cにも摘要できるものを選んだものです。(カッコ内の数字は該当ページを示します) すべてを必ず摘要しなければならないというものではありません。 より簡潔に/単純になると考えられるとき、正しく運用してください。 関数の抽出 (110)

  • 株式会社エス・スリー・フォー » Cによるオブジェクト指向’風’プログラミング

    Java/C++ではオブジェクト・インスタンスにメッセージを送ってその結果を受け取るとき、 result instance.message(parameter); のような記述となります。例えばPackからCardを一枚引き、Packに戻すJavaコードは: Pack pack = new Pack(); Card card = pack.deal(); // Cardを一枚引く pack.replace(card); // (引いたCardを)packに戻す 同様のことをCで行なうためのスタイルを考えてましょう。 まず、抽象データはその詳細を外部に公開してはならないので、ヘッダには構造体のポインタのみを公開します。 typedef struct card_struct* card; このとき、card_structの実際の構造(メンバ)はヘッダには明記せず、cardの実装部に置きます。

  • 株式会社エス・スリー・フォー » ICUの文字コード変換を使いたいのですが…

    ICUの文字コード変換を使いたいのですが… 文字コードは日に生を受けたプログラマの悩みのタネです。UNIX-serverとWindows-clientとの間でメッセージのやりとりを行うとき、そのメッセージがアルファベット(ASCII)だけなら何の問題もないのですが、漢字や仮名を含んでいる場合は片方が使っている文字コードを他方が使っている文字コードに変換してあげないと’文字化け’が生じます。また、SMTP/POP3などを介した電子メールなどではJISコード(iso-2022-jp)との相互変換が必要となります。さらにはXMLではUnicodeが使われますから… IBMのOpenSourceプロジェクト’ICU’は世界中で使われている数多くの文字コードとUnicodeとの相互変換を提供するライブラリです。’ICU’による文字コード変換を、現在最も広く用いられている2つのencoding:eu

  • 1