新しいものを表示

ifでnotの有無の間違いによるミスってコンパイラが検出できないバグの率高くない?><;

orange さんがブースト

はちゃめちゃに長い operator とかでなければ人類は必ず見間違いや見落しをするので開発環境やコンパイラが適切な指示や指摘をしてくれるならなんだっていい

orange さんがブースト

今日日Notepadでソースコード見ることもないだろうし、小さな記号でも色つけてくれたらいいかな、なんて…

orange さんがブースト

そんなクソコードが許されるなら
and_ and nad _or or and_and and or_ or
は読みづらいじゃん……その論法はクソすぎる

わかりやすくするために超極端に言うと、(!illiliilllilli | iilliillili)よりも (not illiliilllilli or iilliillili)のほうが見やすいじゃん!?><;

だからさっきから書いてるように、| とか ! とか記号小さすぎて見間違いとか見落としの危険高いじゃん!?><;

orange さんがブースト

その条件はテキストで書かれるので、メタな意味を持つ and や or や not はテキストで書くより記号で書いてほしいですね。というわけで and / or / not キーワードきらい。

だから言語自作するならどっちでも書ける言語にしたい><

スレッドを表示

たとえばビットパターン混ぜ混ぜする時とかは「PatternA | PatternB」みたいに書きたいけど、条件とかの時は「条件A | 条件B & 条件C」よりも「条件A or 条件B and 条件C」みたいに予約語方式の方が目に入りやすくて見間違えにくいじゃん?><

こういう問題もあるので「オレンジが言語作るならC一族記号方式(!, | ...)とPascal一族予約語方式(not, or ...)両対応にする!><」って言ってる><

Pascalで
if not Hoge then
begin
end;
が
たとえばC# は
if (!Hoge)
{
}
じゃん?>< 見落としそうじゃん?><

これ、オレンジは実際にはやってないけどでもDelphiから乗り換えた時にはDelphiというかPascalのnotは ! じゃなくそのまま「not」なので見落とさなかったのが 「! ってそんな小さいのどう考えても見落とすじゃん!?><」ってなったのでわかるしヤバそうな時にそうするのいい感じかも感><

orange さんがブースト

あまりコーディング規約がきちんとしているところで仕事をする機会が無いが、trueの比較でif(bool)はやるけど、falseのときはif(!bool)じゃなくてif(bool == false)と書くようにしている。なんか見落としそうで。!使えと言われたら使うけども。

orange さんがブースト

「(bool型の式) == true」
「(bool型の式) == false」

って書き方,なくもないけど少数派な気がするんだよな.

赤を入れるべきかどうするか.

システム側がダイアログ出すアプリケーションエラーであればシステムのイベントログに記録されるので、System.Diagnostics.EventLogでEntryWrittenイベントで検出すればいいっぽい><(アプリケーションエラーの取得だけなら管理者権限不要っぽい><)
docs.microsoft.com/en-us/dotne
これ参考にしてイベントでe.Entry.ReplacementStringsの中身見るだけで出来た><

スレッドを表示

関連な蛇足で(?)プロセス指定でウィンドウをアクティブに出来るMicrosoft.VisualBasic.Interaction.AppActivateとかいう便利なものを発見したんだけどソース見てびっくりしたけど
github.com/microsoft/reference

VB.NETのMicrosoft.VisualBasicのライブラリのソースコードってちゃんとVB.NETで書かれてたのか!><;(C# で書かれてるのかとおもってた><;)

通常のモーダルダイアログを出してる時との識別は、(そのプロセスの)ForegroundなウィンドウをGetParent()して親ウィンドウがあれば普通のモーダルダイアログで、親ウィンドウが無いのであればアプリケーションエラーダイアログって判断してすればよほど変な事して無い限り大丈夫っぽさ><

スレッドを表示

単純にモーダルなダイアログ出してるかのチェックと同等になっちゃうけど、自動的にチェックしているような状況であればモーダルなウィンドウなんて出ないはず?><;(操作する人が居ないんだし)なので何とかなる?><;

古いものを表示
:realtek:

思考の /dev/null