批判する訳ではないのだが、コーディング規約の話を持ち出すと「○○社のドキュメント生成ツールにコーディング規約があるのでお宅もそれを参考にすれば」と言われる場合がある。
「参考にすれば」というものを見たことがあるが、ソースコードからドキュメントを生成する際に必要なコメント的確に書くことであった。大昔にCOBOLプログラムを解析し、ドキュメントを生成させるためにコメントをピックアップしやすいように規約を作った経験があるので、「やっぱり」という感があった。
つまりは「機械が解釈するためのコメント」が主軸であり、確かにコメントのおかげで可読性は高くなるかもしれないが、それまでである。

そういう規約に意味がないと言っている訳ではない。話をしている「コーディング規約」というものの認識、捉え方が違うのだ。

私が提唱(というと大げさだが)しているのは「不具合が混じりにく、見つけやすいコード」「仕様変更の影響度が小さいコード」をどう作るかであり、設計思想にまで踏み込んでいる。コメントを適切に、という話だけではないのである。それが「コーディング規約」という言葉に集約されているのがいけないのかもしれない。

では、「コーディング規約」と呼ばずに何と呼ぼうか。
デザインパターンというと「どの言語にも通用するもの」という理解をされるおそれがある。どちらかといえばVBA特有のものを対象にしたいのでこれはいけない。
コーディングルールというと必ず適用しなければならないもの、と理解されるおそれがある。現場や会社、企業の事情に応じて応じて取捨選択するものという位置づけにしたいので、これはいけない。
突拍子もない新語を造ると、ただでさえ新語であふれるIT業界で、浸透させるのも難しいが、敢えて言うならVBAコーディングガイドライン」「VBAコーディング知識体系という名称なら意味としてぶれていないだろう。

で、これからその新語にするのか、っていうと、そうでもない。名称よりも先に中身である。


もう10年くらい前からPCでは音声入力もできる。昔は音声の登録ないしはトレーニングが必要だったが、「音声登録のいらないタイプ」のソフトがあり、試してみた。

AmiVoice Es 2008




このソフトの、特定業種向けバージョンもあり、それを利用している現場を見たことがあるが、充分実用に耐えるものであった。ということで期待していた。

さて、試したところ一般的な単語レベルならたいていちゃんと変換してくれるが、専門用語になると怪しい。その際には辞書登録をしていればいいだろう。

参考になるかどうか分からないが、「ゆうやけこやけでひがくれて」という言葉を変換した場合の例を示しておく。
滑舌やマイクの入力レベル、マイクの位置やマイクに響くノイズ、周囲のノイズによっても左右されるため、参考にはならないとは思うが・・。(声の高さも影響があるみたい)


夕焼け小焼けて【れて
9.5やってる人はこれって、
夕焼け小焼けて【れ、
夕焼け小焼けていかこれって、
旧マーケ500【って
記の件親兄弟電車遅れて
人脈記念公園慌てて右側クレープ
夕焼け小焼けに惹かれて、
いやあ、小屋停電なこれって、
人脈を#てきたこれって、
ユーザ傾向やアプリケーションがこれって、
補って小屋提携がこれ、
夕焼け小焼けてじゃこれって、
夕焼け小焼けて火がこれって、
夕焼け小焼けてきた。これって、
うう予定を予定してないしはこれって、
うーん。親兄弟日が来るって
ユーザ稽古火傷ミラクルって

これだけ見ればとても使えないソフトに思えるが、文脈から変換したりと結構凝ったことをしているようで、確定するまでに色々と判断処理を行って近そうなものを類推しているのだな、というのが分かる。名誉のために申し上げるが、コツをつかめば結構うまく変換される。速度優先か制度優先かの重み付けもできるが、私のPCではあまり変換精度に影響はみられなかった気がする。

音声を学習させなくて良い、という敷居の低さが非常にいい。文章を読み上げる用途では難しいかもしれないが、単語レベルであれば十分に使い出があるだろうと思う。

しばらく前、PCでデータを探すのに Google Desktop を推奨している雑誌記事があった。確かに便利であるが、基本はデータを整理整頓しておく方がよい。特に仕事で使うのであれば、フォルダの作り方や命名規約を決め、分類しておくようにした方がよいだろう。

そんな事を書きながら、私のPC内のデータはかなり混沌としている。言い訳になるが、メインで使うPCを短期間で数回替えた。仕事と並行してやったものだから、どれが最新か非常に怪しい。そこで、コピーして増えたデータを1台に集約して、内容が一致するファイルはは削除、異なるものは新しいファイルを残し、という作業を開始した。
しかしながら、例えばBook1.xls とか、そういう名称のファイルは単純にはいかない。古いデジカメならカードの中身を消すとファイル名の採番がまた戻る、というものもあったりするので、事は総単純ではない。そこでファイルの比較ツールを使って一致不一致を確認するのがいいだろう。
テキスト比較ツール

私はDF1.41を使っている。いろいろ調べてコレ、という訳ではないが、フォルダの比較やバイナリの比較も行ってくれるので行いやすい。

もしBook1.xlsのようなデフォルトファイル名がなく、フォルダ構成も一緒であることが確定しているのなら xcopy の d オプションを使ってコピーし、コピーが終わったらコピー元を削除すれば済むのだが、なかなかそうもいかない・・。

フォルダ構成が結構違う場合、比較対象を選ぶことすら難しい。その場合、特定のファイル名を検索して重複を探し、その所属フォルダ同士を比較するとよい。
具体的には、例えば test001.xls というファイルを検索し、C:\Wk と C:\Temp と C:\Data に見つかったとすると、C:\Wk と C:\Temp を DF で比較する。それで整合性を取り、例えば C:\Wk に集約したら次に C:\Wk と C:\Data を DF で比較する、というように進めていく。
なお、その際に上位フォルダも似ているのなら、上位フォルダ同士を比較するのも良いだろう。ただし、比較する対象ファイル/フォルダが多すぎるとソフトウェアが応答しなくなることもあるようなので、そこは注意が必要だ。

実際に試していると、フォルダ構成が深いと非常に煩わしいと感じるだろう。このことからも分かるように、あまり深いフォルダ構成は避けた方がいいだろう。