• ベストアンサー

プログラミングで心がけていること

プログラマーさんに質問。 僕はからっきし数学がだめでプログラミングなどもってのほかです。 でも作りたいウェブサイトがあってそれにはPHPのプログラムが必要で、勉強中です。とほほ。 絵を描くのはめっちゃ得意なんですけどね。 そこで質問なのですが、プログラムを組む上で個人的に大切にしていることってあります? もしあったら教えてください。よろしくお願いします。

  • jyuu
  • お礼率83% (553/665)

質問者が選んだベストアンサー

  • ベストアンサー
  • taknt
  • ベストアンサー率19% (1556/7783)
回答No.1

わかりやすさですね。 プロともなると、自分が作ったプログラムを他の人がメンテナンスすることは しょっちゅうです。 なので、他人が見ても 理解できるように コメントをたくさん入れたり、他、何も見なくても 理解できるように記述します。 また、自分が 数ヶ月後に見ても、それだけで 思い出せるように工夫するのです。

jyuu
質問者

お礼

おお、素早い回答が!!ありがとうございます。 わかりやすさ、僕も心がけてみるようにします。。

その他の回答 (10)

  • tar_bo
  • ベストアンサー率40% (6/15)
回答No.11

プログラミングだけに絞るならば、  ・コメントを処理ブロック毎にしっかりつける。   多少長くなってもいいが、なるべく処理内容を簡潔に書く。  ・変数/関数の名前は、わかりやすく、かつ自分なりにパターンを作って名称付与する。 これだけでいいでしょう。 設計とかは、プログラミングとは別の話。 ただ、今回のケースで考えれば、最初に処理イメージの作成(処理の流れをメモする)をやっとけば、 あとは言語を学習していけばいいので楽でしょう。 処理の流れを作りながら、言語の勉強をするのは、 なかなか労力を必要としますよ。 まず空のファイルを作って、コメントとして処理の流れを書いていって、 それが出来上がったらコメントの下に実際のプログラムコードを 書いていけばいいんじゃないでしょうか。

jyuu
質問者

お礼

ありがとうございます。大変参考になりました。 皆様ありがとうございました。

  • dietnma2
  • ベストアンサー率36% (7/19)
回答No.10

個人的にってことなので、ちょっと書いてみますね。 シンプルは大事だと思います。 心がけてるのは、ほかの人と同じように書くって ことです。 個性的なウェブサイトは、是非作成して頂きたい ですが、ソースコードに個性は要らないです。 自分は、仕事のみでやっているので、コメントは まぁまぁ書きます。 ソースが長くなっても気にしない。 ってとこです。 サイトがたくさんあるので、極力いいところを 真似して、やっていけばいいと思います。 (著作権などありますので、そのまま利用して 良いのかは、正しく判断してください) 数学は、インクリメント、デクリメント、配列の添字 ぐらいじゃないかな。ほとんど足し算・引き算の 世界ぐらいしか使わないです。 (ただし、勘定系は大変です。四捨五入とかいろいろ) 参考になればうれしいです。

jyuu
質問者

お礼

ほかの人と同じように書く、参考になります。ありがとうございます。

noname#30727
noname#30727
回答No.9

長いことプログラムやってますが、最も大事にしているのは、#4 の方も言われているコメントをいかに減らすかって事です。 出来の悪いコードを説明する為にコメントを書くなら、コードを改善することに時間を使いましょうって意味です。 趣味レベルであれば、理想よりも機能を大幅に削って、まずは最低限動くだけのものを作ることを優先してます。自分のキャパシティを超えている事に気ずかないでいると、悲惨な結果に陥りやすいです。

jyuu
質問者

お礼

コメントをいかに減らすか、ですね。  解り易いのをありがとうございます。 お蔭様で頭イタ落ち着いてきました。ふぅっ。

noname#21649
noname#21649
回答No.8

FOTRANです。 主に関数で問題に成るのですが. 定義域から外れる値を障害として処理する です。汎用性を持たせるために.変な値で参照された場合に障害として異常終了する方が.虫取りが楽ですから。

jyuu
質問者

お礼

ありがとうございます。 Fotran,定義域外の値を障害として処理する、承知いたしました。 ってそろそろ頭がガンガンしてきました。(* *) ひぃ~。

  • taka_tetsu
  • ベストアンサー率65% (1020/1553)
回答No.7

C言語ですが Cプログラミング診断室http://www.pro.or.jp/~fuji/mybooks/cdiag/index.html こういうところで酷評されないようなものを作るように心がけてます。 #4の方、#6の方にも見てほしいですね。 もちろん設計は大切です。すべての土台になるものですからおろそかにしてはいけません。 ただし、プログラマーがプログラム設計書を書くのは今の時代はナンセンスです。 ソースとコメントからプログラム設計書を起こすツールもありますし。 その分のコストをテストに回したほうがよっぽど効率的で品質のよいものが作れます。 オブジェクト指向のプログラミングになると、フローチャートなんかより、UMLのほうがよっぽど大切です。

jyuu
質問者

お礼

ありがとうございます。 フローチャートより、UMLのほうが大切、了解です。 って実はチンプンカンプンだったりします。(+ +) うへ~。

  • azicyan
  • ベストアンサー率21% (368/1747)
回答No.6

プログラミングに不可欠なのが設計です。 つまりすぐにバカバカとキーをたたいてはだめで、 紙上で「設計」をしつこいぐらいにします。 フローチャートと言うヤツです。 それも細かく書けば書くほどバグは出にくくなります。 フローの分枝の箇所では処理がどうなるのか、細かく書きます。 変数もあらかじめすべて決めておきます。 とにかく設計をきちんとやったかやらないかで、出来不出来が決まるといっても過言ではありません。 ある人の話なのですが、ソフトハウスに入社してまずいわれたのが「君は一ヶ月はPCを触ってはいけない」だったそうです。机上で設計をやれと。 その人は「何で?」と疑問に思いながら、いらいらと、机上で設計したそうです。 1月たつとやたら細かい仕様書が出来ていて、 「それじゃあ、これで良いから、コーディングして」 と言われ、その後のコーディングは2日で完全に終わってしまったそうです。ほとんどバグもなく・・・。 結果、その上司の方にものすごく感謝しているのだそうです。

jyuu
質問者

お礼

僕も絵のイメージが浮かんだときは数ヶ月寝かすことがあります。 細部にわたってどうな風にするというのを鉛筆などでエスキースします。 着色には簡単なパステルとか使って。その時点でだめなものは没にします。 確かに実際の作ってる作業時間は設計してる時間の方が長いです。 これって仰るプログラミングのプロセスと一緒ですね!! ひたすら鉛筆動かしてごみ作品作ってた頃を思い出しました。 めちゃくちゃいい回答をありがとうございます。

  • ARC
  • ベストアンサー率46% (643/1383)
回答No.5

座標計算や行列変換(3D系のプログラムでよく使う)や、物理演算といった事をやらないんであれば、数学自体はさほど必要ではありません。 数学に必要な、ロジカルに考える能力は必要ですが(^^; 私の場合も、とにかくわかりやすく書く事を心がけていますね。 シンプルだが難解なパターンAと、判りやすくかけるパターンBがあれば、大概はBを選択します。コメントもバリバリ書きます。 #4さんには申し訳ないのですが、芸術的なコーディングは単なる自己満足だと思っています(汗 処理速度が重要で、どうしてもパターンAにせざるを得ない場合は、コメントをより多く書いて装飾しますね。自分が後から見ても判らないプログラムなんて、最低です。 プログラムの書き方ですが、まずはコメントから。 ○初期化処理を行う ○主処理(1) △△を処理する 中略 ○終了処理を行う ってな感じで、あらかじめ大まかな流れを作っておきます。 出来るだけ具体的な言葉で処理の概要を記述してから、これを一旦推敲します。 で、これでよいとなれば、実際のコーディングに移るわけです。(トップダウンアプローチって言う方法ですね。)

jyuu
質問者

お礼

へー、色んなアプローチがあるんですね。参考になります。ありがとうございます。 >数学に必要な、ロジカルに考える能力は必要ですが(^^; これですこれ!僕はこれがなかなか出来ないんです。 いっつもなんとなく物事を決めますので、そういう生活習慣から変えていかなければいけないのかもしれないですね。

回答No.4

プログラムに数学はまったく必要ありません。 絵を描くのと同じです。 何を書きたいか(何を作りたいか)を決め、PHPn関数やコードを、ダイナミックに芸術的にあなたのセンスで並べればいいのです。 見やすく->これは自分が見やすければいいのです。(仕事で使う場合は別)解りやすくも同じ シンプル->シンプルである必要性はありません。ただ、あまりにも無駄なことはしないほうがいいです。 コメントなんてたくさん入れちゃだめ。これは仕事でも同じ、必要な場所に簡潔はコメントを入れる。だらだら入れたコメントは、無駄なだけでいいことまったくなしです。

jyuu
質問者

お礼

数学関係ない?絵を描くのと同じ??それは知らなかった。 というか僕はプログラミングは初歩の初歩の段階でそう感じる事ができる段階で無いのかもしれないです。 htmlをちょこちょこいじったりしていますがそんな感覚なのかなーと勝手に思っています。 自分が参考にしている掲示板はソースを公開しているのですが そのソースコードを眺めてても、なんとなく無駄がないなぁと思います。 ただ、絵みたいに見ててもあんまり楽しくないです。ははは、、、 ありがとうございます。

  • the845t
  • ベストアンサー率33% (246/743)
回答No.3

ついでに再利用可能なようにすることです。 とくにPHPの場合であれば、 includeとかrequireで他のファイルを参照できますので、 他のページでも利用できるようにしておくと便利ですね。 私も文系なのですが、プログラムってあまり理系のものってわけではないと思いますよ。

jyuu
質問者

お礼

文系と理系は関係ない?それは知らなかった! たぶん僕はそれ以前の問題なんだと思います。 再利用可能ですね、ふむふむ。 ありがとうございます。

  • MovingWalk
  • ベストアンサー率43% (2233/5098)
回答No.2

できるだけ、  「シンプルに、わかりやすく、見やすく」 書くことかな。

jyuu
質問者

お礼

おお、素早い回答がこっちにも!!ありがとうございます。 シンプルさ、見易さですね。 わかりやすさは既に承知済みです。へへへ。

関連するQ&A

  • プログラミングをする資格

    プログラミングについてまったくの素人なのですが、 現在必要に迫られ、PHPの勉強をしております。 PCなどを使うのは昔から好きで、プログラミングなどを勉強している時も まだなにも知らないせいかさほど嫌とかは思いません。 むしろ知らないことに対する好奇心などが強いからかも知れませんが 楽しいさを感じるときもあります。 ただし一点どうしても気になっていることがあります。 プログラミングを勉強してて分かったのですが、やはり数学がメインになっていると思うのですが、私は昔から数学が苦手です。 そういう人でも今後プログラミングに携わっていくことは可能なのでしょうか。もちろん本人の努力次第というのも分かるのですが、 実際に数学が出来ない、不得意というプログラマーなどもいるのでしょうか? 周りにプログラマーなどがいないため、聞きたくても聞けなかったのでここで質問をさせて頂きました。 どなたか自分の素朴な疑問にお答えして頂けたら幸いです。

  • プログラミングについて

    質問なんですが、よく小学生でもプログラミングとかするじゃないですか、小学生で数学も出来ないのに何でプログラミングが出来るのか不思議です。また、そういう方はプログラミングの本とか読んで勉強するのでしょうか?もしつまずいたりしたら誰に質問するのでしょうか? プログラムの得意な方はどうやって勉強しましたか? 独学で学んだ方お願いします!!

    • 締切済み
    • CGI
  • プログラミングと数学的知識について

    コンニチワ 有能なプログラマの経歴を見てみますと数学者などが多いですが 私はプログラミングは好きですが数学は苦手です。 公式などを使わない文章問題は比較的得意なのですが それ以外はほとんど苦手です。 プログラミングをする際必要な公式などはその都度調べています。 しかし、最近は数学的知識があってこそ生まれるアイディアというものが あるのではないかという風に考えるようになり、数学を本格的に学ぼうかと思い始めました。 やはり数学的アルゴリズムなどをきちんと勉強しておいた方が いいアイディアが生まれるのでしょうか? 専門家の方や詳しい方の意見をお聞かせください。

  • プログラミングと数学の関係

    友達から「数学が得意な人はプログラミングに向いてるよ」といわれ、 特に数学的な考え方が必要だからともいわれました。 どのあたりが向いているんでしょうか? また、それはどういったプログラムを組むと実感できるのでしょうか? なにか具体例のようなものを教えていただけませんか? よろしくお願いします。m(_ _)m

  • プログラミング、または天才について

    現在C言語によるLinuxプログラミングを勉強しています。 Linuxもプログラミングもまだまだ初心者ですがなんとか勉強しています。 このまま勉強を続けていき、将来的にはLinuxを好きなように弄れる人間になりたいと考えています。 そこでいくつか質問があります。 まず、そういう人たち(例えばGNUやkernelの開発グループ)は一日にどれくらいプログラミングをしているのでしょうか。 廃人のようにゴリゴリキーボード叩いているイメージがあります。 また何歳ぐらいからコンピュータを触っていたのでしょうか。 20代から本格的に勉強を始めても彼らのようなレベルに達することは可能でしょうか。 それと、僕は情報系の学部に所属する学生であるにも関わらず数学・物理が苦手です(中学では数学は得意でしたが高校で挫折しました)。 パズルも苦手です。 プログラマーに数学が必要かどうかという議論はこれまで数多くなされてきたと思いますが、そういう人たちは数学・物理は得意なんでしょうか。 ある分野の天才というのは長い時間その分野に情熱を抱きやり続けた人間だと思います。 しかし僕がこの勉強を始めたのはつい最近です(中学ぐらいから憧れはありましたが勉強はしてきませんでした)。 彼らと経験値において大きなギャップがあります。 またプログラミングに限らず解けない問題があると無性にイライラします。 どうやっても解けない問題にぶつかったり、やっとのことで書き上げたコードも他人のもとよく書けたコードと比較したりすると劣等感を抱だき思考が脱線します(自己嫌悪です)。 僕はおそらくプログラミングに向いていないのでしょう。 しかしなぜか諦めきれないでいます。 おそらく昔から抱いていた「ハッカー」や「エンジニア」に対する憧れがあるからでしょう。 成人を越えた今でもそれを捨てきれません(思考も精神も凝り固まっているのでしょう)。 少し話が脱線してしまいましたが、大人からプログラミングを始めて大きなことを成し遂げた人はいるでしょうか。 プログラミングに限りません、あらゆる分野においてですが。 書いてる途中にいろいろな疑問が思い浮かびそのまま書いています。 かなりの駄文になりましたがみなさんの意見をお聞かせください、お願いします。 本文はもっと短くまとめられたでしょう。

  • プログラミングについて。

    プログラミング初心者です。 ちょっと興味があり、プログラミングの勉強をしています。 テキストベースでプログラムを書いていったとして、どうやってGUIベースにすればいいのでしょうか? Linux上で簡単なプログラムをつくってコンパイルしましたが、コマンドから実行するともちろんCUIでの実行になります。 どうすれば、GUIベースで作れるのでしょうか。 言語以外の知識(専用ソフトウェア等)を必要とするのですか。 それとも、htmlのように画像などを読み込ませ完成させるのでしょうか。 iPhoneアプリ製作などは XCodeなどがありますが、プログラマーとして仕事をしている人は基本的にそのような専用ソフト上でプログラミングしているのでしょうか。

  • プログラミングを勉強しても身につきません。

    何が理解できていないのかもよくわかりません。 まだ例えばC言語なら文法を勉強している段階です。 HTMLはタグを覚えてとりあえずなんのタグだか理解できるぐらいです。 難しく入れ子にしたりしていくとわからなくなってしまいます。 CSSやJavascriptはまだ勉強していないのでよくわかりません。 一日90分ぐらい勉強してどのくらいでとりあえず、 なんかできるようになるのでしょうか? 自分は以前やったときに合計10時間ぐらいやって何もみにつかなくて やめた覚えがあります。 後、どうやって勉強したらいいのでしょうか? よく、プログラミング言語のタグとかコマンドを覚える必要はない それがどういうときに必要な単語か覚えて書けばいいから それよりも、ロジックというか仕組みを考えることをした方がいいというのですが、 その仕組みを構築するためにはどうしたいいでしょうか? いま、 プログラマの数学 大型本 – 2005/3/24 結城 浩 (著) https://www.amazon.co.jp/dp/4797329734 という本を借りてきて読んでいる途中ですが、この本で 数学的なロジックの正確性でプログラミングを構築していくもんだということ のようなので、それほど難解には書かれていないので、理解するように 努めたいと考えています。 後はプログラムを数多く作るしかないでしょうか? 教えてくださいよろしくお願いします。

  • プログラミング好きですか?

    最近まで2年間プログラマー兼SEをしていたものです。 在職中SEはともかくプログラミングがあまり好きではありませんでした。 仕事時間中は集中しましたが、自宅や休日にプログラミング言語の勉強をしませんでした。する気が起こらないのです。これってやはり好きではないからでしょうか?仕事のためとはいっても毎日勉強の日々のこの業界でプログラミングを好きではない人はプログラマーとしては致命的でしょうか?技術が足りなくても好きな人のほうが伸びるのでしょうか? 漠然とした質問でわかりずらいですが、貴方様のプログラマーとしての心構えやモチベーションを保つ秘訣など教えて下さい。

  • ゲームプログラマをめざしてるんですけど・・・

    高校2年生の学生です、ゲームプログラマーを目指して勉強をしてるんですけど、なかなかプログラミングがうまくなりません。疑問があるのですが教えてもらえませんか? ゲームプログラマーになるには情報化卒の人がおおいきがするのですが、僕は普通化です。まったく授業にコンピュターがでてきません。数学は得意でもなく不得意でもありません。しかも理系ではなく文系に進んでしまいました。 それでもゲームプログラマーになりたいのですが、果たして文系の数学も普通でゲームプログラマーになれるのでしょうか?経験者のアドバイスください。あとプログラミング暦は1年くらいです、最近Cを勉強してます、変なことを言っているかもしれませんがお願いします。

  • プログラマー

    文系でもプログラマー(コードを書き込むような人、つまりプログラミング)になれますか? 英語はものすごく得意です。 しかし、やはり数学をバリバリに使いこなせないとだめでしょうか?

専門家に質問してみよう