- ベストアンサー
プログラミングで心がけていること
プログラマーさんに質問。 僕はからっきし数学がだめでプログラミングなどもってのほかです。 でも作りたいウェブサイトがあってそれにはPHPのプログラムが必要で、勉強中です。とほほ。 絵を描くのはめっちゃ得意なんですけどね。 そこで質問なのですが、プログラムを組む上で個人的に大切にしていることってあります? もしあったら教えてください。よろしくお願いします。
- みんなの回答 (11)
- 専門家の回答
質問者が選んだベストアンサー
わかりやすさですね。 プロともなると、自分が作ったプログラムを他の人がメンテナンスすることは しょっちゅうです。 なので、他人が見ても 理解できるように コメントをたくさん入れたり、他、何も見なくても 理解できるように記述します。 また、自分が 数ヶ月後に見ても、それだけで 思い出せるように工夫するのです。
その他の回答 (10)
- tar_bo
- ベストアンサー率40% (6/15)
プログラミングだけに絞るならば、 ・コメントを処理ブロック毎にしっかりつける。 多少長くなってもいいが、なるべく処理内容を簡潔に書く。 ・変数/関数の名前は、わかりやすく、かつ自分なりにパターンを作って名称付与する。 これだけでいいでしょう。 設計とかは、プログラミングとは別の話。 ただ、今回のケースで考えれば、最初に処理イメージの作成(処理の流れをメモする)をやっとけば、 あとは言語を学習していけばいいので楽でしょう。 処理の流れを作りながら、言語の勉強をするのは、 なかなか労力を必要としますよ。 まず空のファイルを作って、コメントとして処理の流れを書いていって、 それが出来上がったらコメントの下に実際のプログラムコードを 書いていけばいいんじゃないでしょうか。
お礼
ありがとうございます。大変参考になりました。 皆様ありがとうございました。
- dietnma2
- ベストアンサー率36% (7/19)
個人的にってことなので、ちょっと書いてみますね。 シンプルは大事だと思います。 心がけてるのは、ほかの人と同じように書くって ことです。 個性的なウェブサイトは、是非作成して頂きたい ですが、ソースコードに個性は要らないです。 自分は、仕事のみでやっているので、コメントは まぁまぁ書きます。 ソースが長くなっても気にしない。 ってとこです。 サイトがたくさんあるので、極力いいところを 真似して、やっていけばいいと思います。 (著作権などありますので、そのまま利用して 良いのかは、正しく判断してください) 数学は、インクリメント、デクリメント、配列の添字 ぐらいじゃないかな。ほとんど足し算・引き算の 世界ぐらいしか使わないです。 (ただし、勘定系は大変です。四捨五入とかいろいろ) 参考になればうれしいです。
お礼
ほかの人と同じように書く、参考になります。ありがとうございます。
長いことプログラムやってますが、最も大事にしているのは、#4 の方も言われているコメントをいかに減らすかって事です。 出来の悪いコードを説明する為にコメントを書くなら、コードを改善することに時間を使いましょうって意味です。 趣味レベルであれば、理想よりも機能を大幅に削って、まずは最低限動くだけのものを作ることを優先してます。自分のキャパシティを超えている事に気ずかないでいると、悲惨な結果に陥りやすいです。
お礼
コメントをいかに減らすか、ですね。 解り易いのをありがとうございます。 お蔭様で頭イタ落ち着いてきました。ふぅっ。
FOTRANです。 主に関数で問題に成るのですが. 定義域から外れる値を障害として処理する です。汎用性を持たせるために.変な値で参照された場合に障害として異常終了する方が.虫取りが楽ですから。
お礼
ありがとうございます。 Fotran,定義域外の値を障害として処理する、承知いたしました。 ってそろそろ頭がガンガンしてきました。(* *) ひぃ~。
- taka_tetsu
- ベストアンサー率65% (1020/1553)
C言語ですが Cプログラミング診断室http://www.pro.or.jp/~fuji/mybooks/cdiag/index.html こういうところで酷評されないようなものを作るように心がけてます。 #4の方、#6の方にも見てほしいですね。 もちろん設計は大切です。すべての土台になるものですからおろそかにしてはいけません。 ただし、プログラマーがプログラム設計書を書くのは今の時代はナンセンスです。 ソースとコメントからプログラム設計書を起こすツールもありますし。 その分のコストをテストに回したほうがよっぽど効率的で品質のよいものが作れます。 オブジェクト指向のプログラミングになると、フローチャートなんかより、UMLのほうがよっぽど大切です。
お礼
ありがとうございます。 フローチャートより、UMLのほうが大切、了解です。 って実はチンプンカンプンだったりします。(+ +) うへ~。
- azicyan
- ベストアンサー率21% (368/1747)
プログラミングに不可欠なのが設計です。 つまりすぐにバカバカとキーをたたいてはだめで、 紙上で「設計」をしつこいぐらいにします。 フローチャートと言うヤツです。 それも細かく書けば書くほどバグは出にくくなります。 フローの分枝の箇所では処理がどうなるのか、細かく書きます。 変数もあらかじめすべて決めておきます。 とにかく設計をきちんとやったかやらないかで、出来不出来が決まるといっても過言ではありません。 ある人の話なのですが、ソフトハウスに入社してまずいわれたのが「君は一ヶ月はPCを触ってはいけない」だったそうです。机上で設計をやれと。 その人は「何で?」と疑問に思いながら、いらいらと、机上で設計したそうです。 1月たつとやたら細かい仕様書が出来ていて、 「それじゃあ、これで良いから、コーディングして」 と言われ、その後のコーディングは2日で完全に終わってしまったそうです。ほとんどバグもなく・・・。 結果、その上司の方にものすごく感謝しているのだそうです。
お礼
僕も絵のイメージが浮かんだときは数ヶ月寝かすことがあります。 細部にわたってどうな風にするというのを鉛筆などでエスキースします。 着色には簡単なパステルとか使って。その時点でだめなものは没にします。 確かに実際の作ってる作業時間は設計してる時間の方が長いです。 これって仰るプログラミングのプロセスと一緒ですね!! ひたすら鉛筆動かしてごみ作品作ってた頃を思い出しました。 めちゃくちゃいい回答をありがとうございます。
- ARC
- ベストアンサー率46% (643/1383)
座標計算や行列変換(3D系のプログラムでよく使う)や、物理演算といった事をやらないんであれば、数学自体はさほど必要ではありません。 数学に必要な、ロジカルに考える能力は必要ですが(^^; 私の場合も、とにかくわかりやすく書く事を心がけていますね。 シンプルだが難解なパターンAと、判りやすくかけるパターンBがあれば、大概はBを選択します。コメントもバリバリ書きます。 #4さんには申し訳ないのですが、芸術的なコーディングは単なる自己満足だと思っています(汗 処理速度が重要で、どうしてもパターンAにせざるを得ない場合は、コメントをより多く書いて装飾しますね。自分が後から見ても判らないプログラムなんて、最低です。 プログラムの書き方ですが、まずはコメントから。 ○初期化処理を行う ○主処理(1) △△を処理する 中略 ○終了処理を行う ってな感じで、あらかじめ大まかな流れを作っておきます。 出来るだけ具体的な言葉で処理の概要を記述してから、これを一旦推敲します。 で、これでよいとなれば、実際のコーディングに移るわけです。(トップダウンアプローチって言う方法ですね。)
お礼
へー、色んなアプローチがあるんですね。参考になります。ありがとうございます。 >数学に必要な、ロジカルに考える能力は必要ですが(^^; これですこれ!僕はこれがなかなか出来ないんです。 いっつもなんとなく物事を決めますので、そういう生活習慣から変えていかなければいけないのかもしれないですね。
- XxXxXxXxXx
- ベストアンサー率8% (18/212)
プログラムに数学はまったく必要ありません。 絵を描くのと同じです。 何を書きたいか(何を作りたいか)を決め、PHPn関数やコードを、ダイナミックに芸術的にあなたのセンスで並べればいいのです。 見やすく->これは自分が見やすければいいのです。(仕事で使う場合は別)解りやすくも同じ シンプル->シンプルである必要性はありません。ただ、あまりにも無駄なことはしないほうがいいです。 コメントなんてたくさん入れちゃだめ。これは仕事でも同じ、必要な場所に簡潔はコメントを入れる。だらだら入れたコメントは、無駄なだけでいいことまったくなしです。
お礼
数学関係ない?絵を描くのと同じ??それは知らなかった。 というか僕はプログラミングは初歩の初歩の段階でそう感じる事ができる段階で無いのかもしれないです。 htmlをちょこちょこいじったりしていますがそんな感覚なのかなーと勝手に思っています。 自分が参考にしている掲示板はソースを公開しているのですが そのソースコードを眺めてても、なんとなく無駄がないなぁと思います。 ただ、絵みたいに見ててもあんまり楽しくないです。ははは、、、 ありがとうございます。
- the845t
- ベストアンサー率33% (246/743)
ついでに再利用可能なようにすることです。 とくにPHPの場合であれば、 includeとかrequireで他のファイルを参照できますので、 他のページでも利用できるようにしておくと便利ですね。 私も文系なのですが、プログラムってあまり理系のものってわけではないと思いますよ。
お礼
文系と理系は関係ない?それは知らなかった! たぶん僕はそれ以前の問題なんだと思います。 再利用可能ですね、ふむふむ。 ありがとうございます。
- MovingWalk
- ベストアンサー率43% (2233/5098)
できるだけ、 「シンプルに、わかりやすく、見やすく」 書くことかな。
お礼
おお、素早い回答がこっちにも!!ありがとうございます。 シンプルさ、見易さですね。 わかりやすさは既に承知済みです。へへへ。
お礼
おお、素早い回答が!!ありがとうございます。 わかりやすさ、僕も心がけてみるようにします。。