プロとしてお金が発生するプログラミングを続けていると
どうしても自由にアプリがつくりたくなります。
しかし業務と関係ないアプリを作っていると怒られるので一目を気にしながらこっそり作る。
その名も「俺のアプリ」・・・はダメですね。すでに俺の株式会社がやってました。
名付けて・・・虎の子アプリ。
んん~ネーミングがダサい。
まぁ、名前は何でもよいのですが、
平たく言えばこっそりつくったローカルPCにしかないローカルアプリです。
日の目を見る事がないひっそりと楽しむツール。
今日はそんなローカルアプリの話でもしようかと思います。
隣の大先輩も密かに愛用している名作があると思います。
聞いてみたら自慢してくるかもしれません。
実は僕が会社を辞める時、僕のローカルPCの中にしかいない自作アプリはざっと300ありました。
12年で300。
栄えある処女作はフォルダをつくってファイルを一気に移動するバッチアプリ。
もう昔の自分が可愛くて仕方ありません。そういやこんなん作ったなぁ。
ちょっとこなれてくるとUserControl,CustomControlなど開発で使える部品ですね。
会社のPCから持ち出すことはさすがにできないので転職時に処分されたと思います。
中でも力作はChartControlを直観的に使えるようにしたもの。
コントロールを置くだけで右クリックが充実しており、
ラベルやマークを付けたりグラフの種類を変えたり3Dにしたりと自由自在でした。
かなり力が入ってたのですがちょっともったいなかったですね。
3次元CADの切削パスを自動生成するCAM紛いのものも少し作ったこともあります。
お客さんにはビックリされたのですがお金にはならないというね。
テストが面倒でドライバやスタブをつくったりエミュレータをつくったりもしました。
全部、見積もりと納品物に含んで置けばよかったと後悔しています。
でも、有償だとあんなに力入れて作りませんし良し悪しです。
納品物(として定義し忘れた)でないドライバやスタブの開発はかなり業務寄りです。
ただ無責任にやれるのでデザートとして楽しめます。
ある程度キャリアを積み上がってくるとプログラミングが面倒になってきます。
7,8年目くらいからソースコードを自動生成するプログラミングに凝り始めました。
ソースコードを自動生成するアプリが吐き出したソースコードをビルドします。
何を言っているのかわかりませんね。
さらにテストのためのソースコードも自動生成してテストもテストコードの生成も自動化します。
するとテストコードの自動生成もテストしないといけないので意味がわかりません。
ただ、これが案外有効でソースコードはインデントとかコメントの付け方の面で綺麗になります。
自動生成しやすいようなソースコードを考えるので、ロジックの良し悪しはさておき単純で読みやすくもなります。
通常、共通関数を使って冗長処理にならないようにするのが定石ですが、
共通化しすぎてメンテナンスしづらくなったりします。
その点、自動生成する場合は冗長な処理が増えても特に問題ありません。
うっかり全てに不具合を含んでしまったとしても自動生成ですので一括で修正できます。
案外冗長な処理を自動生成するのも悪くないなぁと感じたのが自動生成のプログラミングです。
とはいえ、自動生成で吸収しきれない部分を手で修正したりしてしまうと、
自動生成が使えなくなってうんざりします。
デザインパターンのジェネレーションギャップパターンとかを使えば多少改善します。
ただ、直観性が失われどうやって使うのか忘れてその場限りの自動生成アプリになりました。
ある時期はほとんどの仕事で自動生成するアプリを作るという効率が良いのか悪いのかわからない状態でした。
今、僕が愛用しているのは、半自動ソースコード作成ツールですね。
書き方がどうしても覚えられないものやただ書くのが面倒くさいものなどを集めています。
開発には必ず登場するお気に入りです。
AutoCodeCreaterなどと名付けていますが、つづりが間違ってるのは秘密です。
プログラマーの秘密アプリ – ローカルアプリケーション
おわり
コメントを残す