[SML 7714] Re: Smalltalk勉強会@京都 課題 「CSV to HTML」できました

濱崎治 osamu.hamasaki @ gmail.com
2009年 11月 15日 (日) 21:03:14 JST


濱崎です。

私もようやく皆さんに見て頂けるレベルのコードになったので、
プログラムをポストします。SUnitのテストケース付きです。
(といってもHTML周りはテストを書いていません。complete.htmlと
プログラムが出力するindex.htmlをdiffで比較して、テストしていま
したので。)

あと、できるだけJunに依存しないように書き直したのですが、
browserの所はMacOSX以外の環境はうちでは確認できないので、
あきらめました。
(別にJunを使うのが嫌な訳ではありません (^^;; Junがやって
いることを自力で書くのも勉強になると思ってやってみました。)

このCSVからHTMLへの変換の課題のポイントは、
・CSVとHTMLに関する知識をアプリケーションのロジックから
 如何に分離するか?
 うまく分離出来るとCSVやHTMLに関するコードが汎用的な
 ものになって再利用することが出来る。
・CSVの表の形式と、HTMLの表の形式の違いをアプリケーションの
 ロジックで如何に変換するか?
 巧くやらないとロジックが複雑になり、将来表の形式を変えたく
 なった時にプログラムの変更が大変になる。

だと思っています。これらのポイントを考えてクラスの分割をして
みました。クラス名の最初にCSV,HTML,PrimeMinisterをつけて
分離を明確にしてあります。

とはいいつつ現状では、CSVの解釈は単に','で区切っているだけですし、
HTMLの部分もHTMLのタグの意味を詳しく知らないので、あまり良い
分割ではないかもしれません。また、HTMLのインデントもハード
コーディングで巧いやり方にはなっていません。今後の課題です。

11月の勉強会で提示されたTranslaterの役割はPrimeMinisterTableに
持たせています。PrimeMinisterTableはCSVTableからの変換や
HTMLTableへの変換を担っています。この先の発展としては、
PrimeMinisterTableからCSVTableへの変換もあり得ると思います。
その先はCSVファイルへの出力も視野に入ってきます。

CSVの読み込みや、HTTPでのダウンロードの起動の方法については、
9月の勉強会で提示されたプログラムのままです。

では、次回勉強会の時にでもご意見を頂けるとありがたいです。

以上です。

2009年11月15日16:49 hirowadenden <hirowadenden @ hera.eonet.ne.jp>:
>
> ハンドル名で失礼します、hirowadendenと申します。
> # SMLの保存書庫を見ると、[SML 7708]〜[SML 7710]が私の所には配信されて来
> ないので、テストも兼ねて投稿させていただきます。
>
> 前回投稿したプログラムは、元のプログラム20091007.stから懸け離れてしまっ
> ていたので、今回添付のプログラムは、元のプログラム20091104.stに沿ってプ
> ログラミングしたつもりです。(^^;;

--

Osamu Hamasaki
-------------- next part --------------
テキスト形式以外の添付ファイルを保管しました...
ファイル名: Translators-hamasaki.st.zip
型:         application/zip
サイズ:     8792 バイト
説明:       無し
URL:        http://www.smalltalk.jp/pipermail/sml/attachments/20091115/0738ed2e/Translators-hamasaki.st-0001.zip


SML メーリングリストの案内