VB6のコメントじゃまやー。
VB6のコメントを消すプログラムをC#で作ってるなう。
単純にシングルクォート(VB6ではコメントの意味。C#でいうところの//に相当)以降を削除するロジックでは以下の場合にNG
<NG例>
s = "---I'm a student.---"
↓
s = "---I
<NG例終わり>
で、このNG例対策ができているかテストを書くとこんな感じ。
[TestMethod]
public void TestMethod3()
{
var actual = Program.DeleteComment("s = \"---I'm a student.---\"");
var expected = "s = \"---I'm a student.---\"";
Assert.AreEqual(expected, actual);
}
これでいいのだけども、VB6のコードにわざわざダブルクォーテーションをエスケープするという手間がかかっている。手間をかけるとそこに間違いがないとは言い切れない。できることなら、VB6のコードをコピペで済ませたい。
・・・
そうだ、リソースを使おう。
ここならVB6の生きたコードをそのままコピペできる。あとはユニットテストでこのリソースを拾えばOK。
[TestMethod]
public void TestMethod3()
{
var s = Properties.Resources.TestMethod3InputValue;
var actual = Program.DeleteComment(s);
var expected = Properties.Resources.TestMethod3ExpectedValue;
Assert.AreEqual(expected, actual);
}
ユニットテストの可読性?それは知らん(をい
コメント邪魔やー
【コメント】ソースコード中にある邪悪な文字列。
いや、たまには役に立つコメントもある。千のうち一つか二つぐらいは。ほとんどが邪悪すぎて生きてるコードの解読に支障をきたすことがしばしば。
<邪悪なコメントの例>
(言語はVB6)
a = 3 '昨日
'昨日 a = 7 '一昨日
’一昨日 a = 8 '先週
'先週 a = 9 '先月
'先月 a = 1 '去年
'去年 a = 999 '20世紀末
'20世紀末 a = 85
<邪悪なコメントの例 終わり>
改修履歴をコード上に残すためのコメント(以後、改修コメント)。改修を繰り返すたびにどんどん増えていき、ついには変数aを設定する処理と改修コメントだけで画面が埋まるということも。
これはさすがに困ったのでコメントを消すプログラムを作ってみようと思う。
車輪の再発明な気がするが、まぁいい。
アクションカメラ買った。
自転車動画撮ってみたくてこれ買ってみた
フルHDである。高解像度は正義なり。と思ったのは動画撮るまで。
実際撮ってみると2GBのSDカードが10分で終わりですぜ旦那(どこのダンナだよ)。解像度を落とせば撮影時間延ばせるんかなと思ったが、このカメラは以下の設定しかない
・1920*1080(25fps)
・1280*720(50fps)
フレームレートが連動で変わってるのがミソである。
これ素直に掛け算してみたら
・1920*1080*25=51840000
・1280*720*50=46080000
となって一秒あたり12.5%減。てことは撮影時間が12.5%延びて11分ちょっとという計算。うーん?気が向いたら実験してみよ。
まぁスペック的には32GBまで対応してるのでその気になれば160分ぐらいはいける。しかも32GBのclass10なんて1000円前後である。これは買うしか!
それはさておき、撮った10分動画だがカメラの取り付けが緩くてずっと空ばかり撮ってるでやんのwwwアクションカメラで初めて撮った動画が10分の空動画(「"から"どうが」ではなく「"そら"どうが」)かよorz
でも可能性感じた。いっぱい動画撮りたい。今度はメモリカード買ってもっと長時間のを撮ってやる!
NASどうしよ
よんどころなき事情で押し入れにしまい込んでいたNASを復活させることにした。
一応使えそうだが長年放置してたせいかHDDが異音を出してる。
このNAS、型番はLS-500GL。型番にふさわしく500GB、と思いきや1TBに換装済みである。じゃ、次も換装するかと思ったが、前回の換装時よりもHDDのセクタの種類が増えている。
前回換装時は
・512バイトセクタが主流、
・2TBでAFTなWD20EARSが出始め
という状況だったので、1TBで十分な私にはなにも気遣い不要な状況であった。
が、今は4Kセクタとの表示がありーの(512バイトエミュレートしてくれないの?)小容量でもAFTの表示がありーの。
換装でうまく動かせるHDDを選ぶ自信がない。
しばらく悩むことにした。
ポケモンGOしてきた
暑いいやむしろ熱い。iPhone6が熱でイカレそう。
やっべ、これ楽しい・・・・というほどではなかった。
ってのも、よくよく考えたらおいらはポケモン世代よりだいぶ上のおっさんである。
ポケモンで知ってるのは黄色い電撃野郎ぐらい。
今日はその黄色い電撃野郎にはお目にかかれずで、ほかの雑多なの(失礼)が出てきたので捕まえようとボールを投げてみるがなかなか捕まらん。なんかコツがあるのだろう。教えろください。
Ingress時代の記憶があるのでポータルが多かったとこに行けば補給はできそう。
ぼちぼちやってみるが、今レベル4。レベル5で陣営選ぶんだよな。うーん、陣営選択はもうちょい先のレベルでもいいんじゃないかしらん?まだゲーム上の知り合いは一人もいないぞ。
IngressでA5なら地元でリアルハックされてても不思議じゃないんだが、今回は自転車で遠征かけてるからリアルハックされる可能性はほぼない。
ゲーム上の仲間ができるのが先か飽きるのが先か、いざ勝負!
VS2015でプロジェクトのフォルダ名を変える。
個人メモでつ。
VS2015でソリューションの下に二つのプロジェクト(本プロジェクト・テストプロジェクト)がぶら下がってる状態である。
ファイルの配置はこんなん
ソリューションフォルダ
│ Hoge.sln
├─本プロジェクトフォルダ
│ Hoge.csprojや*.cs
└─テストプロジェクトフォルダ
Hogeテスト.csprojや*.cs
で、本プロジェクトフォルダの名前が気に食わないから変えた。
VSでフォルダ名を変える方法が見つからなかったのでめんどくさいとばかりに直接的な方法をとった。
①エクスプローラーでフォルダ名を変える
②Hoge.slnをメモ帳で開いてそれっぽい名前になっているところを変える
いじょお。