プログラム

セッションとポインタ

webサーバとブラウザ間のセッション管理とポインタって、似てるような。 だからどうしたってことはないが。

列挙するときのセパレータの面倒くささは最強

とにかく最強。 SELECT hoge, fuga, FROM hogefuga public class Hoge{ Hoge (String fuga1, String fuga2,){ } }

やってはいけない

コメントにウソを書かない。 ウソを書くくらいなら、消してしまいなさい。ビビビっと。

日本語のクラス/フィールド/メソッド名

って使って副作用とかあるものなんでしょうか、という旨をh:keyword:java*1に書いてみたけど、改めてこちらにも。 特に画面表示の場合、見出しと同一なフィールドで管理すると英語に訳してみたり対応を探してみたりする手間が減るので、使ってて負担がないん…

あるプロパティをソースに書くかと設定ファイルに書くかの違い

政治的に違う。

ソースのコピペ禁止。

コピペするとバグ/仕様変更が伝染しちゃうのよ。コピペとかコピペ+で済む程度の処理なら、該当するクラスメソッドとするか、親クラスに置くか、別クラスを立てる方向で考えられないわけがない。

ソース行数が少ないほど、仕様変更に強い。

…という仮説。コードを書くコストと読むコスト、そして再利用を考えると。

DBと状態遷移のオブジェクト化

SUPクラスを継承したSUBクラスのインスタンスは、SUPテーブルの主キーをユニークキーするSUBテーブルのレコードとして扱えるような気がする。ただし、逆は成り立たない(成り立たせない方が良い)場合もある。 例えば、自動車クラスを継承したバスクラスとト…

ソフトウェアの派手な部分

ってのはUIのデザインであり、使われ方であり、内部ロジックではなく、アルゴリズムでもない。あるアルゴリズムの素晴らしさを語るのは、あるアメリカンジョークの面白さを語るのと同じ位に難しい。そのジョークを面白いと思わなかった人は、そのジョークに…

竹槍と呼ぶ、そのオブジェクト

竹槍がほしいという要件に対して、竹槍と呼ぶミサイルが納品された。よほどの技術がない限り、その納品物はただの竹槍には見えないだろうし、動作を見せればそれは竹槍とは異質なものだとわかるだろう。他方、竹槍と名付けられたモジュール群は、他になんか…

試すこと

マスタをjoinしたりして、名前を取り出したい。 帳票出力とか。 複数の検索条件を指定して/しないで検索したい。 一覧検索画面とか。 もしかして、テーブル設計も重要なのか?

DBとプログラムの役割分担

SQLって、全部ビューか構造を返すプロシージャにしてDBに登録、プログラム側は"SELECT hogehoge(are, sore)"みたいな超シンプルなインタフェースしか使わないようにすればいーんじゃないかなぁ。 利点は静的チェックが可能なこと。 プログラムにSQL文を書く…

プログラムにおける機能と見た目の分離

ソースのインデントはタブであるべきか空白であるべきかっていう論争を見てると、機能と見た目の分離が進んでないんだなぁと思った。pythonなんか、インデントに意味を持たせてるらしいけど。たしか。 ちなみにタブ派なんだけど、大抵の開発環境のデフォルト…

プログラム可能な問題のクラス

ってあるのかなぁと思った。 確率が入った時点でプログラム可能ではない(その決定モデルは現実の決定モデルではないから)?決定問題はプログラム可能?そもそもプログラムとは?チューリングマシン?可能とは?不可能な問題の例…私は今夜彼女を口説けるか…

最適化は後から考慮する…といっても

事前に最適なアルゴリズムなり実装なりが判っている部分は、それを採用すればよいです。 でも、現実に転がっている大抵の問題は betterではあるがbestかは判らない。 それ以上に適した方法がないことの証明が難しい。つまり、あっちのやり方よりも適している…