プログラミングの構成について

タグの編集
投稿者 たかくん  (社会人) 投稿日時 2011/10/3 09:48:01
おはようございます。
色々作ってていつも思うのですがプロはソフトウェアの構成をロジックのレベルまでイメージして
頭の中で完成した状態にして後はコードを打つだけというやり方だと聞きました。
自分の場合何がデータになるかどんなクラスが必要かを一応考えはしますが大抵コードを打ちながら
構成を組み立てている状態(典型的なアマチュアです)なのでいつも行き詰まりそうになって無理やり
こじつけてコードにしてみたり最悪はコードの大半をやり直すハメになったりして戦いが起こります。
ストーリーがあり洗礼されたオブジェクト指向設計ができるようになる(StarAceのように)を目標にやっていますが「あーでもないこーでもない」をしこたま繰り返すとできるようになるもんでしょうか...
僕自身の想像力、構成力の問題なんでしょうけどみなさんは設計段階でどんなやり方してますか?
人によって違うのか気になります。
「こんなやりかたしてます」をたくさんの人に聞いてみたいです。
よろしくお願いします。
投稿者 るきお  (社会人) 投稿日時 2011/10/3 13:15:46
>「こんなやりかたしてます」をたくさんの人に聞いてみたいです。
では、まず私から。

以下、趣味で作る個人のプログラムと言う前提です。

>自分の場合何がデータになるかどんなクラスが必要かを一応考えはしますが大抵コードを打ちながら
>構成を組み立てている状態(典型的なアマチュアです)なのでいつも行き詰まりそうになって無理やり
>こじつけてコードにしてみたり最悪はコードの大半をやり直すハメになったりして戦いが起こります。
だいたい私と同じです。
コードの大半をやり直すハメには最近はならずに済んでいます。

>ストーリーがあり洗礼されたオブジェクト指向設計ができるようになる(StarAceのように)を
>目標にやっていますが「あーでもないこーでもない」をしこたま繰り返すとできるようになるもんでしょうか...
なると思いますよ。

その調子で続けて行かれるといいのではないでしょうか。
自分に照らし合わせると、はじめ3年くらいはやりたいことも上手く実現できず試行錯誤の連続、次の3年くらいでやりたいことはなんとかできるようになってきて、徐々にスマートの組み方になっていった感じです。
投稿内容を読んでいるとたかくんさんは今すばらしい勉強をされているのだなと感じました。

よろしければ私も他の方の話もききたいです。
投稿者 たかくん  (社会人) 投稿日時 2011/10/3 18:48:53
今晩は、るきおさん、ありがとうございます。
このような話題って中々話題になりそうでならなかったりしますよね。
るきおさんも僕と同じように試行錯誤しているとは驚きでした。
今自分は劇的にのびようとしているのがよく解ります。
産みの苦しみというやつを体験してます。
今のテーマはクラスの独立、ストーリーのあるクラス分けと何か作る度に同じような手法でやるのではなく今まで手を出さなかった事を取り入れながらやったりもしてます。
「何か作る」となった時にいつもキーボードに向かう癖があるようなんですが、本当はペンを持って紙に色々書くのがいいんでしょうね。
僕の場合なぜかペンを持ってる段階ではほとんど何も思いつきませんけど...
経験こそ財産だと確信しました。
他の方も聞きたいですね。
プロの方でもいいです。
投稿者 名無しのB  (社会人) 投稿日時 2011/10/6 19:04:11
プログラミングははじめて3年めになります(正直いうと一時挫折してブランクがあります)
それでも何とかプログラミングが少しでもできるようになればと思って再起しました。

私の場合、ゲームが大好きでゲームを作りたいとかいう気持ちはないのです
また、データベースやネットワークに強い興味があるわけでもありません。
ただ、市販及びフリーソフトはどのように作られているのかな?という興味と
自分でもそれに近いソフトを作れるようになれば、と思っています。
ですから動機付けが弱いのかもしれません。

るきおさんでも自力でプログラムできるまでに3年以上の月日がかかっているのですね
私の場合は30年かけて取り組む覚悟が必要ですね
そのためには、やはり数多くのサンプルをこなしていくという勉強法が最良なのでしょうか
投稿者 たかくん  (社会人) 投稿日時 2011/10/6 20:47:06
今晩は、名無しのBさんありがとうございます。
僕の場合で言いますと16年前に専門学校に行っててC言語をやってました。
パソコン自体はMSX時代からやってます。
プログラミング自体は専門学校からが本格的でした。
ですが挫折して2009年までは車の趣味に明け暮れていました。
金がかかりすぎる事に疲れて「そうだ自分にはプログラミングがあった」と思いまたパソコンの世界に
戻って来たという感じです。
10年位やってなかったのでキーボードすら覚束ない状態でしたけどあれから二年、今はオブジェクト指向に乗っ取った勉強をやっています。
経験から言うと入門書をざっとすませたら白紙から(設計のイメージから)自分でやってみる事ですね。
またプログラミングの本質を学ぶ事が一番大切です。
僕は専門学校時代にここがあったから10年ぶりに復帰しても覚えるのが早かったのだと思います。
本質とはロジックを日本語で言いながら同時にコードに変換できるかどうかという事です。
アルゴリズムですね。
後は作りたい物を根性を持ってやりぬく情熱が必要ですかね。
参考になったでしょうか...
投稿者 名無しのB  (社会人) 投稿日時 2011/10/7 08:56:20
たかくんさん、貴重なアドバイス痛み入ります。

私の場合は、要求水準が高すぎたために挫折したような気がしています。

かつては、すべてをマスターしようという思い上がりがあったのだと思います。
VBという未踏峰に足を踏み入れて、小さな発見ができることを喜びとして
学んでいこうと思っています。
投稿者 たかくん  (社会人) 投稿日時 2011/10/7 10:52:15
こんにちは、挫折の要因は僕と一緒でしたね。
本当にプログラミングを楽しんでいる人は題材はある程度何でもいいと思っていると思います。
作るまでの論理的思考とかデバッグであったりとかプログラミングそのものを楽しんでいると思います。
後、僕がやった方法ですが入門書に出ている住所録ソフトなんかをしっかり理解して作ります。
そののちに白紙から作って自分なりのアイデアを出してこれでもかという位改造してみるんです。
その過程で文法だのコートロールの使い方だのはネットやリファレンスで調べるんです。
苦労して調べながら完成に近づけると学んだ事がどんどん入っていきます。
それと、これは持論ですが日頃から脳を活性化させる事ですね。
思考できない人は大抵脳が動いていません。
そういう人はいつも人としゃべらなかったり考える事をしない習慣があるんです。
脳を活性化する一番の方法はあくまで持論ですが「人としっかり会話する事」です。
人と会話すると疲れたりしませんか?
かなり脳が動いてる証拠です。
声を出す->聞く->考える->声を出す のサイクルにインプットとアウトプットがあるしフルに脳を使っていますからね。
あながち本質だと思ってますが...
参考になるかな...
投稿者 (削除されました)  () 投稿日時 2011/10/7 19:53:13
(削除されました)
投稿者 名無しのB  (社会人) 投稿日時 2011/10/7 19:55:21
>こんにちは、挫折の要因は僕と一緒でしたね。
そうでしたか。なにか嬉しいですね

>それと、これは持論ですが日頃から脳を活性化させる事ですね。
>脳を活性化する一番の方法はあくまで持論ですが「人としっかり会話する事」です。

おっしゃるとおりだと思います。
ただ、脳を活性化させる方法は「あれかこれか」ではなく 「あれもこれも」だと思っています。
知的な活動だけでなく、歩くことが何より脳を活性化させる最良の方法であると説く方も
いるようです。
脳科学の今後の研究によってはこれまでの常識を覆すことが発見されるのかもしれませんね。