[VBA系メニューへ] [質問掲示板] [バックナンバー目次]




関数仕様書の話

どうも、三流プログラマーのKen3です。

今回は、
関数仕様書について、軽く書きたいと思います。

たいした解説、回答内容じゃないのですが。

/* * 1.今回のキッカケ */

※愚痴系でモラッタ書き込みだけど、VBA系でも流用。  両方の読者の人は、いつもカブってすみません。  愚痴系は発行少ないのでHP確認にしてもらったほうがいいのかも。 ---- >関数仕様書の書き方についてご教授ください。 ---- と 質問のメールをもらった。 三流プログラマー的回答なので、 いつもの部分参考でヨロシクです。 ~~~~~~~~~~~~~~~~ えっ、今日は一部でも参考になるのかよ? 最近キツイなぁ、読者の声が、 ^^^^^^^^^^^^^^^^^^^^^^^^^^^ 参考にならなかった、読んで損したにならないように、1つはヒットを目指して。

/* * 2.関数仕様書かぁ、、HELPと同じ書式でいいんじゃない? */

メールアドレスが女性読者の会社からぽかったけど(.co.jp) 冷たく、下記のように短い回答でした。 ※あれ?めずらしいねぇ、女性には優しいのにね。 VBAのヘルプと同じでいいんじゃない? ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 下記、Excel2002のHELP Dir関数です Dir 関数 ^^^^^^^^ と、関数名があって >指定したパターンやファイル属性と一致するファイルまたはフォルダの名前を表す >文字列型 (String) の値を返します。ドライブのボリューム ラベルも取得できます。 ↑簡単な(簡潔な)機能説明があり 構文 >Dir[(pathname[, attributes])] ↑と、コールの方法が載っていて、 ↓あとは、パラメータ、引数の説明、定数、戻り値の説明があれば >Dir 関数の構文は、次の指定項目から構成されます。 > >指定項目 内容 >pathname 省略可能です。ファイル名を表す文字列式を指定します。フォルダ名 >およびドライブ名も含めて指定できます。引数 pathname に指定した内容が見つ >からないときは、長さ 0 の文字列 (" ") を返します。 >attributes 省略可能です。取得するファイルが持つ属性の値の合計を表す数式ま >たは定数を指定します。省略すると、標準ファイルの属性になります。 設定値 >引数 attributes の設定値は次のとおりです。 > >定数 値 内容 >vbNormal 0 標準ファイル >vbReadOnly 1 読み取り専用ファイル >vbHidden 2 隠しファイル >vbSystem 4 システム ファイル。Macintosh では使用できません。 >vbVolume 8 ボリューム ラベル。この値を指定すると、すべての属性は無効に >なります。Macintosh では使用できません。 >vbDirectory 16 フォルダ >vbAlias 64 エイリアス ファイル。Macintosh でのみ使用できます。 あとは、下記のような詳細の解説や注意事項があってもいいし。 >解説 > >Windows の場合、複数のファイルを指定するための "*" (アスタリスク) >および "?" (疑問符) のワイルドカード文字を使用できます。Macintosh の場合、 >これらの文字は有効なファイル名の文字として扱われるため、このワイルドカード >文字を使用して複数ファイルを指定することはできません。 なんて、冷たい回答でした。

/* * 3.堅苦しくなく、わかればいいのかなぁ */

ヘルプと同じ、まぁ、無難な答えだよね。 逆の言い方だと三流プログラマーらしくないよね、そんな優等生的な回答は(笑) オレも期待してないし、読者も期待してないよそんな回答は。 そうですか、最近、クレーム無いように安全にやってるんだけど。 仕様書は、何のために書く? ・もちろん、納品書類の厚さ稼ぎですよ(あとで誰も見ない/読まないけど) ・作業依頼の時の資料ですよ/作成時の資料 ・自己満足ですよ いろいろと考えられますが、 多くは、他の人とのやり取りのために、仕様書を作成すると思います。 ※カッコつけて、未来の自分への手紙と書いてもいいけど、  たぶん、自分の書いた仕様書を未来の自分は読まないと思う。  現実は、未来の被害者(担当者)が読む可能性はあるけど。 実は、紙にぐちゃぐちゃ多く書き込むより、 関数の作成依頼なら、
Sub Test_Main()

    Dim strA As String

    strA = getF()  'フォルダーの名前を返す、
    MsgBox strA

End Sub
なんて、書いて、 関数内でフォルダーを選択するダイアログを表示して、 フォルダーの選択、選択された値を返してね。 と言った方が、作成者にイメージが伝わりやすかったと思う。 あと、たまたまだけど、使用する上位モジュールのサンプルをつけているので、 依頼された関数の作成者側は、それで作成したモジュールのテストも出来て、 やりやすかった。 サスガに、 納品書類で、呼び出す上位側のモジュールと簡単な機能説明だと 上司になんだこれ?書き直せとなって、クレーム来るかもしれないけど (でも、納品した書類、客先担当者はまともに見ないってばさ(笑)) 関数仕様書は、 ~~~~~~~~~~~~~~ 簡単な呼び出しモジュール(モジュールのテストを兼ねた) と 簡単な機能説明で十分だと三流プログラマーのKen3は思います。
Sub Test_Main()

    Dim nNO As Integer

    nNO = selectCODE("A001")  '動作番号1,2,3を返す
    Select Case nNO
        Case 1:  '在庫確認処理
            MsgBox "在庫確認処理を呼ぶ"
        Case 2:  '納品待ち
            MsgBox "納品待ち"
        Case 3:  '出荷処理
            MsgBox "出荷処理"
        Case Else
            MsgBox "オイ、そんなリターン値ないよ・・"
    End Select

End Sub
なんて、テストモジュールを書いといて、 selectCODEを作成する担当者に、 文字列でコードを受け取り、A.mdbからデータを受け取り、在庫テーブルと照合、 さらに、入庫予定がONなら・・・を返す ・ ・ と、書けば、作るほうも作ってもらうほうも楽なのでは? おまけでつけた、テストモジュールが、 メインモジュール作りにもなったりして、 矛盾点の確認にもなるし、関数仕様書/関数作成依頼書作るときは、 一緒にテストモジュールも付けてみては?

/* * 4.じゃ、一人作業の時は、仕様書は頭の中にありますでいいの?かよ? */

仕様書は、他のメンバーと意思の疎通をスムーズにするため必要、 でも、しょせん仕様書なんて納品時にページ稼ぎ、仕様書は見ない、 ソースを見たほうが正確だぁ〜 なんて言ってると、 一人作業の時は、仕様書は頭の中にありますでいいよ って聞こえるんだけど、そのあたりは? う〜ん、、、仕様書は私の頭の中にありますかぁ・・・ ほんとに一人作業なら、それもアリかもしれないけど、 さっき、チラっと書いたけど、未来の自分へのラブレターとして、 書いておくと、下位モジュールのテスト時楽だし、 納品用の書式に書く必要は無いけど、メモ書き程度は、書いたほうがいいよ。 私が変わり者だからかもしれないけど、 未来の自分に依頼を出すって感じで、まとめると、面白いかもね。 自分自身に仕様書を書いてオーダーする ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ なかなか、イメージ沸きにくいけど、 こんな仕様作ったバカは誰だよ・・・あっ、自分だった(笑) 私みたいに、たまには、右脳と左脳でケンカしてね。 ※メルマガの作者とサンプルプログラム作成者って違うんですか?  と質問受けたことあったけど、同じ人がどちらも書いてます(笑)  気分によって、文体やサンプルに違いがあるんだけどね・・・ アシスタントを雇うぐらい儲けたいけど、そんな夢見ちゃねぇ・・・ -【けんぞう!】--------------------------------------------------------- 予想ネット キャンペーン参加で得たコインを予想問題に投票。 http://www.ken3.org/etc/500yen/yosou.html 正解するとコインが倍増、それを換金という画期的“お得エンタメ”です。 運と実力で誰でも現金獲得のチャンスがあります。 豪華賞品が当たる入会キャンペーン実施中。 ------------------------------------------------------------------------ 

/* * 5.終わりの挨拶 */

今回は、 関数仕様書の書き方は、 ・VBAのヘルプと同じ書式でいいんじゃないの? ・テストルーチンを付けて渡すと、理解がハヤマルよ ・自分自身に仕様書を書いてオーダーする 何かの参考となれば幸いです。 Excel/Access大好き、三流プログラマーKen3でした。

質問・感想を送る

作者に感想・質問/要望を送る(気軽に質問・感想書いてください)
あなたのお名前(ニックネーム) さん

作者からの返信は、 不用 E-mail で受信したい

三流君のHP主な飛び先

VBA系のメルマガで書いた解説を項目ごとにまとめてます

[VBAでAccessを操作(一般)]
[VBAでAccessのレポートを操作]
[VBAでAccessのUserForm/サブフォームを操作]
[VBA Access から Excel 連携]

[VBA でExcel オブジェクト/プロパティ/メソッド/一般]
[VBA でExcel UserForm(ユーザーフォーム)を操作する]
[VBA ExcelからAccessを操作する]

[VBA Outlookの操作]
[VBA IEの操作]
[VBA テキストファイル(*.txt,*.html,*.csv)の操作]
[VBA標準関数関係とその他解説]

ASP系の解説を項目ごとにまとめてみました

[ASP Form等を使用したデータのやり取り]
[ASP その他処理サンプル]
[ASP テキストファイル処理]
[ASP VBScript関数関係の説明]
[ASP ADOでMdbファイルを使う]
[ASP ADOでExcelと接続してみた]

分類別

[アクセスランキング] [サイトマップ] [リンク先・相互リンク先など]
VBAで楽しくプログラミング 掲示板 バックナンバー メルマガ登録と解除
コンビニのオモテとウラ話 掲示板 バックナンバー メルマガ登録と解除
ASPで遊ぶ、失敗する 掲示板 バックナンバー メルマガ登録と解除
三流プログラマー 業務の愚痴 掲示板 バックナンバー メルマガ登録と解除
初心者にやさしいプログラム 掲示板 バックナンバー メルマガ登録と解除
ネットで稼ぐ本音と失敗談 掲示板 バックナンバー
www.ken3.org(サイト内)から Google を利用して、

Ken3の日記(weblog) -- [広告・副収入系] [プログラマー業務の愚痴] [VBA系の話題] [ASP系の話題] [コンビニ系ネタ] [その他]

その他、宣伝ページです

・[ アンケート/ポイント]などで月500円を必死に稼いでます(笑)
・[ SOHO/在宅プログラマー/派遣]の話題、Webエントリー後の反応など
・[ ネットで小金を稼げるか?]実験中だが成果は無し
※あとは、[パソコン関係の書籍]や[ゲームソフト]、 [パソコンパーツ] をバナーから売ろうとするけど、
 なかなかうまくはいかないよね(笑)

楽天の商品売れ筋ランキング紹介ページ

ドリンク

[コーヒー・ココア] [ソフトドリンク] [ハーブティー] [ビール・地ビール] [ワイン] [中国茶] [中国酒] [日本茶] [日本酒] [水・ミネラルウォーター] [洋酒] [焼酎] [紅茶] [その他(ドリンク)]

グルメ・フード

[キムチ・漬け物] [チーズ・乳製品] [パン] [フルーツ・野菜] [] [惣菜・食材] [中華料理・惣菜] [和風料理・惣菜] [洋風料理・惣菜] [水産物・水産加工品] [] [肉・肉加工品] [菓子] [調味料] [麺類] [その他(フード)]

ファッション

[インナーウェア・ナイトウェア] -- [ショーツ] [ブラジャー] [ストッキング] [キャミソール] [スリップ] [ガードル] [補正下着] [マタニティ用下着] [ナイトウェア]
[カジュアル] -- [Tシャツ] [シャツ] [カットソー] [セーター] [カーディガン] [ジーンズ] [パンツ] [ジャンバー・ブルゾン] [スカート]
[レディース・婦人服] -- [スーツ] [ワンピース] [スカート] [パンツ] [ブラウス] [フォーマル]
[ジュエリー・アクセサリー] -- [指輪] [ネックレス] [ペンダント] [イヤリング] [ピアス] [ブレスレット] [ジュエリーボックス・ケア用品]
[香水] -- [シャネル] [クリスチャン・ディオール] [ジバンシー] [グッチ] [ブルガリ]
[メンズ・紳士服] [メンズ-スーツ] [メンズ-シャツ] [メンズ-トランクス] [メンズ-ブリーフ] [メンズ-ボクサーパンツ] [メンズ-Tシャツ] [トレーナー・パーカー] [メンズ-ポロシャツ] [メンズ-カットソー] [メンズ-セーター] [メンズ-カーディガン] [メンズ-ジーンズ] [メンズ-ジャンバー・ブルゾン]
[バッグ] [] [ベビー・キッズ・マタニティ] [和服] [眼鏡・サングラス] [コンタクト・コンタクト用品] [腕時計] [雑貨・小物] [スイムウェア]

パソコン・家電・AV

[オフィス・サプライ] [コンパクトカメラ] [デジタルカメラ] [ビデオカメラ] [一眼レフカメラ] [ソフトウェア] [パソコン・コンピュータ] [デスクトップパソコン] [ノートパソコン] [モバイル・携帯電話] [周辺機器パーツ] [スキャナ] [プリンタ] [家電・AV] [エアコン・空気清浄機] [オーディオ] [冷蔵庫・冷凍庫] [掃除機] [映像機器]

生活・インテリア

[家具・インテリア] [手芸・クラフト] [文具] [日曜大工・作業用品] [日用品・生活雑貨] [食器・調理用具]

ヘルス・ビューティ

[ダイエット] [健康用品] [サプリメント] [医薬品] [福祉・介護] [美容・化粧品] [スキンケア] [メイクアップ]

スポーツ・アウトドア

[アウトドア] [ウィンタースポーツ] [サッカー] [ストリート系スポーツ] [テニス] [トレーニング] [フィッシング] [マリンスポーツ] [自転車] [野球] [スポーツグッズ] [格闘技グッズ] [その他スポーツ・用品]

フラワー・ガーデン

[エクステリア] [ガーデニング] [フラワー・花] [植木] [観葉植物] [造花]

ホビー・ペット・コレクション

[アート・美術品] [おもちゃ] [ペット・ペットグッズ] [占い・開運] [囲碁・将棋] [楽器] [趣味・コレクターグッズ]

CD・DVD・ゲーム

[CD・カセット] [DVD・LDソフト] [アニメ(DVD・LD)] [ミュージック(DVD・LD)] [洋画] [邦画] [テレビゲーム] [ビデオ] [音楽CD] [R&B] [アニメソング] [ジャズ] [ダンス&ソウル] [ヒップホップ] [ロック・ポップス(洋)] [ロック・ポップス(邦)]

車・バイク

[カー用品] [カーナビ] [カーオーディオ] [タイヤ・ホイール] [洗車用品] [バイク]

ゴルフ

[ゴルフ・クラブ] [ゴルフ・シューズ] [ゴルフ・ウェア] [ゴルフ・バッグ] [ゴルフ・ボール] [ゴルフ・小物] [ゴルフ・トレーニング用具]