おおっぴらには言えない手法
今日はプロジェクトファイルの構成を確認したりしていた時にふと思ったことがあります。
一連のプログラムをどういう構成にするかというのは、一般的ながら、面白く重要なテーマですよね。いろいろ本とかもでています。
以前の私は、構造化やリファクタリングが大好きで、少しでも再利用できそうな部分はクラスやライブラリ化して、出来る限り依存性を少なく(疎結合に)・・・とかやっていました。
でも、最近はよっぽど管理が必要なプロジェクトでない限り、なるべく1つのファイルにまとめるようにすることが多くなっています・・・。
いうまでもなく、この手法はとてもお手本にはならないと思います・・・でも、うまく記述すると、これが一番便利で安全で管理コストも少ないような気がするのです・・・。(もちろんプロジェクトにもよりますが。)
もちろん、このことをもって、リファクタリングや構造化の大切さについて異論をさしはさもう、というわけではありませんし、今でも必要があれば行います。
ただ、定説からそれたり常識を疑われたりするので、おおっぴらにはトテモいえないけど、それぞれの開発者が、長年の経験から編み出し、慎ましく実践している有効なテクニックが沢山存在することは、(上記がそれに該当するかどうかは別として)恐らく事実なのではないかと思います(^^;)。
一連のプログラムをどういう構成にするかというのは、一般的ながら、面白く重要なテーマですよね。いろいろ本とかもでています。
以前の私は、構造化やリファクタリングが大好きで、少しでも再利用できそうな部分はクラスやライブラリ化して、出来る限り依存性を少なく(疎結合に)・・・とかやっていました。
でも、最近はよっぽど管理が必要なプロジェクトでない限り、なるべく1つのファイルにまとめるようにすることが多くなっています・・・。
いうまでもなく、この手法はとてもお手本にはならないと思います・・・でも、うまく記述すると、これが一番便利で安全で管理コストも少ないような気がするのです・・・。(もちろんプロジェクトにもよりますが。)
もちろん、このことをもって、リファクタリングや構造化の大切さについて異論をさしはさもう、というわけではありませんし、今でも必要があれば行います。
ただ、定説からそれたり常識を疑われたりするので、おおっぴらにはトテモいえないけど、それぞれの開発者が、長年の経験から編み出し、慎ましく実践している有効なテクニックが沢山存在することは、(上記がそれに該当するかどうかは別として)恐らく事実なのではないかと思います(^^;)。
<<システムトレード遊び | ホーム | 映画「追想」>>
コメント
No title
Re: No title
> >以前の私は、構造化やリファクタリングが大好きで
> まったく同じです。
> 以前は大好きで、次回のために完成したプログラムを再度作り直したりもしてました。
> でも今はもうしません。
> リンクリストやツリーやリングバッファなんかの基本的な物をクラス化してたりもしたけど、今じゃこんなもの自分で作らなくても最初から言語に組み込まれてるし。
まさにそうですよね~!
そういえば言語の進化も大きいですね。
汎用的にライブラリ化やクラス化するような部分の多くを
言語が担ってくれるようになっていますね。。
> それよりなにより一番でかいのは「検索」ですね。
> 検索すれば部品的なソースならなんでも落ちてるんで、今更考えなくなってしまった。それと同時に自分で管理することも無くなってしまったです。
> 今はソースの管理の代わりに専らホームページを集める方に集中してます。
> この方が効率的じゃないかなぁと・・
これもそうですね~仕事の場合、
効率的なのが一番ですよね!
> 今、組み込みのSHのプログラムを作ってるんですが、PCとシリアルで通信する必要がある。
> この部分のデバッグをするためにPC側のソフトをBC++かDelphiで作ろうと思ったら、シリアル通信のコンポーネントがどこかに行っちゃってた。
> んで、仕方なくシリアル通信のコンポーネントが内蔵されてるC#をいじりはじめたんですけど、C#を生まれて初めて触ったのに、たった半日でシリアル通信が完成しちゃいました。
> 自分で書いたわけじゃなくて、どなたかのをパクっただけ。
> 検索様々です。
>
> と言うわけでC#用のホームページを集めたページを作ってます。
> http://nora66.com/c_sharp/
> 取り敢えずもう用は済んだんで、しばらく更新しないと思うけど、やっぱり結論は「検索」にかかってるような気がしてます。
見ました!とても参考になります。ありがとうございます!
C#ってルーツ的にもそうですがやはりDelphi好きだとコードが抵抗なく読めますね!
label.textとか、凄く親近感があります(^^)
> 「いかに使い回せるプログラムを作るか」を考えるより、割と無神経にどんどん書いちゃって、必要が出てきたら後で取り出す。
> 取り出すのが面倒なら検索して誰かのをパクる。
> って、本当にこれで良いのかしら?(^^;
良いと思います!賛成です!!(^^)
> まったく同じです。
> 以前は大好きで、次回のために完成したプログラムを再度作り直したりもしてました。
> でも今はもうしません。
> リンクリストやツリーやリングバッファなんかの基本的な物をクラス化してたりもしたけど、今じゃこんなもの自分で作らなくても最初から言語に組み込まれてるし。
まさにそうですよね~!
そういえば言語の進化も大きいですね。
汎用的にライブラリ化やクラス化するような部分の多くを
言語が担ってくれるようになっていますね。。
> それよりなにより一番でかいのは「検索」ですね。
> 検索すれば部品的なソースならなんでも落ちてるんで、今更考えなくなってしまった。それと同時に自分で管理することも無くなってしまったです。
> 今はソースの管理の代わりに専らホームページを集める方に集中してます。
> この方が効率的じゃないかなぁと・・
これもそうですね~仕事の場合、
効率的なのが一番ですよね!
> 今、組み込みのSHのプログラムを作ってるんですが、PCとシリアルで通信する必要がある。
> この部分のデバッグをするためにPC側のソフトをBC++かDelphiで作ろうと思ったら、シリアル通信のコンポーネントがどこかに行っちゃってた。
> んで、仕方なくシリアル通信のコンポーネントが内蔵されてるC#をいじりはじめたんですけど、C#を生まれて初めて触ったのに、たった半日でシリアル通信が完成しちゃいました。
> 自分で書いたわけじゃなくて、どなたかのをパクっただけ。
> 検索様々です。
>
> と言うわけでC#用のホームページを集めたページを作ってます。
> http://nora66.com/c_sharp/
> 取り敢えずもう用は済んだんで、しばらく更新しないと思うけど、やっぱり結論は「検索」にかかってるような気がしてます。
見ました!とても参考になります。ありがとうございます!
C#ってルーツ的にもそうですがやはりDelphi好きだとコードが抵抗なく読めますね!
label.textとか、凄く親近感があります(^^)
> 「いかに使い回せるプログラムを作るか」を考えるより、割と無神経にどんどん書いちゃって、必要が出てきたら後で取り出す。
> 取り出すのが面倒なら検索して誰かのをパクる。
> って、本当にこれで良いのかしら?(^^;
良いと思います!賛成です!!(^^)
コメントの投稿
トラックバック
| ホーム |
まったく同じです。
以前は大好きで、次回のために完成したプログラムを再度作り直したりもしてました。
でも今はもうしません。
リンクリストやツリーやリングバッファなんかの基本的な物をクラス化してたりもしたけど、今じゃこんなもの自分で作らなくても最初から言語に組み込まれてるし。
それよりなにより一番でかいのは「検索」ですね。
検索すれば部品的なソースならなんでも落ちてるんで、今更考えなくなってしまった。それと同時に自分で管理することも無くなってしまったです。
今はソースの管理の代わりに専らホームページを集める方に集中してます。
この方が効率的じゃないかなぁと・・
今、組み込みのSHのプログラムを作ってるんですが、PCとシリアルで通信する必要がある。
この部分のデバッグをするためにPC側のソフトをBC++かDelphiで作ろうと思ったら、シリアル通信のコンポーネントがどこかに行っちゃってた。
んで、仕方なくシリアル通信のコンポーネントが内蔵されてるC#をいじりはじめたんですけど、C#を生まれて初めて触ったのに、たった半日でシリアル通信が完成しちゃいました。
自分で書いたわけじゃなくて、どなたかのをパクっただけ。
検索様々です。
と言うわけでC#用のホームページを集めたページを作ってます。
http://nora66.com/c_sharp/
取り敢えずもう用は済んだんで、しばらく更新しないと思うけど、やっぱり結論は「検索」にかかってるような気がしてます。
「いかに使い回せるプログラムを作るか」を考えるより、割と無神経にどんどん書いちゃって、必要が出てきたら後で取り出す。
取り出すのが面倒なら検索して誰かのをパクる。
って、本当にこれで良いのかしら?(^^;