@IT情報マネジメント会議室は、2009年4月15日に新システムに移行しました。
新たに書き込みを行う場合には、新しい会議室をご利用ください。
新たに書き込みを行う場合には、新しい会議室をご利用ください。
- @IT情報マネジメント 会議室 Indexリンク
- IT戦略
- 仕事の改善
- アーキテクチャ
- プロジェクト管理
- ITインフラ
- Webマーケティング
- BPMプロフェッショナル
- 業務アプリ
- - PR -
すっきり設計・コーディングって???
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2004-10-08 11:23
設計とコーディングについての質問です。
現在特定アプリケーション向けのサンプルプログラムを設計・コーディングを担当していますが、設計やコーディングでどうしてもきれいに設計ができません。(私の能力も問題です) ここで言う「きれい」とは、以下を考えています。 @誰がみてもすっきり設計・コード Aある程度拡張し易い設計・コード(ある程度は再度使える) B設計図で見て説明できる設計 Cリファクタリングされたコード DMVCが守れる設計・コード E少ないコード量 Fテストし易い設計・コード そこでみなさんが自社で「縛り」のある(特定の言語や指定ライブラリや標準技法に準拠)場合に行う、分析・設計・コーディングのアイディア(工夫)を教えてください。 以下が現在案件の標準です。 1.PCI画像入力と描画を行うVisual C++ プロジェクト 2.C言語又はC++言語(できればC言語。C言語しか知らない人でも読める範囲であればC++もOK) 3.STLやBoostやジェネリックは原則不可(自社内で誰も知りません) 4.WinMainから始まり、fopenやWM_PAINTを使う。(コテコテのWinSDKです) 5.MFCは不可(自社内でMFCコードが読めないので) 5.実行速度は速いのが原則(ハードウェア依存なので) 6.他社ライブラリやActiveXは不可(他社ライブラリでも自社ライブラリでもバイナリの中身が見えないものはNG) 7.独自すぎる自分のフレームワークは不可(数千行を超えるユーティリティークラスや関数はNG) 8.ソース公開 9.納期は2Week(案件によって違います) 以上、抽象的で止め処もなく書きましたが、みなさんのアイディアや情報などを是非教えてください。 | ||||
|
投稿日時: 2004-10-08 12:03
unibon です。こんにちわ。
人に見てもらうためのプログラムということでしょうか。しかし、Microsoft や Sun が SDK に付属しているようなプログラムがキレイだとはあまり感じません。API の動作検証程度の意味合いしかないように思います。 #だから解説書籍等のライターのかたが潤うのでしょうけど。 過去に、いろいろなボードの SDK に付属するサンプルなどは使わせていただきましたが、使う立場から言えば、サンプルにキレイさは要求しません(キレイなほうが良いですけど)。むしろ、誤植やバグやバージョンの違いに伴う差異がないことや、デバッガー上で API の動作確認ができるかどうか、は気にします。 変数名や関数名は、分かりやすいのにしてほしい、とは思います。SDK のサンプルという意味での、本質の部分(API に関わる部分)と本質でない部分(GUI とかユーザーが付け足す部分)が、一目で区別できるようにもしてほしい。 | ||||
|
投稿日時: 2004-10-08 12:08
unibon です。
ボードの SDK 付属のサンプル、などとか勝手に想像したのですが、そうではなく、アプリケーションの雛型のようなものでしょうか。 C++ や MFC/STL を知らない人にも分かるように、という前提がやはり非常なネックですよね。万人にも分かるプログラムは、冗長になってしまい、万人が分かりづらくなってしまいます。やはりある程度の特殊化は避けられないのではないでしょうか。 | ||||
|
投稿日時: 2004-10-08 12:43
こんにちは、unibonさん。ひでよんです。
私が担当しているのはSDKです。ただしここでのSDKはダブルバッファ描画やZoomやグラフやたくさんの設定画面があります。 「特殊化」やはりそうですよねぇ・・・ 自分でも過去のSDKを前にして、モヤモヤしながら開発していますが、そうなりますかねぇ。毎度毎度同じ「switch-case」「巨大関数」「グローバル変数」を見ると、「とほほ・・なんとかならないかなぁ 」と思ったりしたので、投稿してみました。 | ||||
|
投稿日時: 2005-01-16 11:54
> @誰がみてもすっきり設計・コード
=E少ないコード量です。 小さい簡潔なサンプルを沢山作って、あとはご自由にと・・・ |
1