プログラムをすっきり整然と書くコツを教えて下さい。

ちなみに現在、PHPでプログラムを作成しています。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:
  • 終了:--
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答8件)

id:itg1224 No.1

回答回数72ベストアンサー獲得回数0

ポイント15pt

http://www.tsukuba-tech.ac.jp/info/staff/kenkyusei/nobuyuki/Prog...

コラム�A プログラムの書き方の基本

こういう見た目のじゃなくて、中身の話ですかね??

id:fm315

有り難うございます!

どちらかというと、中身の話なのですが、こういった見た目の話についても参考になります。

コメント入れるときのサンプル(どういったものを書いておいた方がよいなど)があると助かります。

2004/12/09 08:55:30
id:taknt No.2

回答回数13539ベストアンサー獲得回数1198

ポイント15pt

http://www.atmarkit.co.jp/fjava/devs/object01/object01.html

@IT:連載:ここから始めるオブジェクト指向 第1回

オブジェクト指向でしょうか。

PHPに関しては 二番目のURLが参考になると思います。

http://www.atmarkit.co.jp/flinux/special/php5/php5b.html

ベータリリース目前!? PHP5の新機能 − @IT

id:fm315

ありがとうございます!

2004/12/09 09:08:21
id:ke_ishi No.3

回答回数269ベストアンサー獲得回数0

ポイント15pt

http://www.bk1.co.jp/cgi-bin/srch/srch_detail.cgi/417722233cee20...

オンライン書店ビーケーワン:プログラミング作法

いきなりすっきりは書けないと思います。試行錯誤しましょう。

最低限、やるべきことは

1.名前でわかる関数・変数名の役割

 1文字の a() なんてのはダメです。

 短い≠良いプログラム。

 getUserInfoById($id)、とかなら何をしたいのか一目瞭然。

2.積極的に連想配列を使いましょう。

 $user = getUserInfoById($id);

 echo($user[0]); ←これじゃわからない。

 echo($user[’name’]);←これなら、わかる。

3.定石を使え。

 プログラミングには定石があります。

 奇をてらった書き方は、自己満足以外の何者でもありません。

 

id:fm315

ありがとうございます!

「定石」を知ることができる情報源をお待ちしています。プログラムを書かれている方の経験上のお話でも結構です。

2004/12/09 10:08:32
id:daisyworld No.4

回答回数10ベストアンサー獲得回数0

ポイント15pt

http://www.gihyo.co.jp/books/syoseki.php/4-87408-414-1

書籍案内|gihyo.jp …技術評論社

PHP に限らず、プログラミング全般における定石というのであれば、一般的によく使われるアルゴリズムをまとめた本などを、一度読まれてみるのをオススメします。

実際教育の場で、プログラミング技法をとりあげる場合は、よく使われる定石として、広く知られたアルゴリズムについての学習は欠かせないものとなっています。

URLはアルゴリズムをまとめた図書の一例で、私も持っていますが、C言語は PHP とも割と文法が似ていますので、掲載されているコードも流用しやすいかと思います。

id:fm315

ありがとうございます!

2004/12/09 10:34:09
id:kuippa No.5

回答回数1030ベストアンサー獲得回数13

ポイント15pt

スクリプト言語はどうしてもごちゃごちゃしてきて人の人のソースをチェックしていると泣きそうになることがあります。

すっきりの反対の悪例をあげるので参考にしてください。この点に気をつけていれば相当すっきりしたプログラムができる予感。

 

共通関数があるのに利用していない。

やたらとフラグをつかっている。

変数の命名規約などの基本的なコーディング規約にちっとも即していない。

同じような関数で微妙に違うのがいくつもある。

そもそも関数なんてない。

ページレイアウトの為のHTMLと実行の為のスクリプトが複雑に入り組んでいる。

ネストが長い。

ひとつの処理が2スクロール以上もある…

外部で定義されているスタイルシートを利用していない。

外部で定義されているページヘッダー情報などを読み込んでいない。

同じ事が永遠と書き連ねてある。

条件判断のための変数が無意味に多く事態を無意味に複雑化させている。

普通にクライアントスクリプトにサーバーサイドスクリプトが盛り込まれている。

仕様として可変的な固定値(数値等)がコードに直接記述されている。

固定値等を宣言したincをそもそも用意していない。

そんなところですかねぇ〜。

これに気をつけていれば相当すっきりしますよ。

id:fm315

ありがとうございます!とても参考になります。

2004/12/09 10:51:12
id:okazbb No.6

回答回数59ベストアンサー獲得回数0

ポイント15pt

http://homepage1.nifty.com/~takaot/prprpr/index.html

いいプログラムを書こう

どの言語でも通用するであろう基本的な事が書かれています。

個々の言語で具体的にどうするかに関しては、「コーディング標準」というキーワードで検索すると良いかも。

でも一番大切なのは、コーディングする人自身がやりたい事をしっかりと把握する事ですね。

そのコードで実現したい事を本人が理解していなければ、技術的な知識がいくらあっても結局雑然としてしまいますから。

id:fm315

ありがとうございます!

2004/12/09 11:09:23
id:kuku1006 No.7

回答回数10ベストアンサー獲得回数0

ポイント15pt

プログラムをすっきり書く第一歩は、

「明確な仕様書を作成する」です。これ絶対!

プログラムを書き出してから想像力を働かせると

2度手間3度手間になり処理も複雑化してしまいがち

です。

変数リストやフローチャートも必須です。

プログラマ泣かせはクライアントによる思いつきの

仕様変更ですからw

id:fm315

ありがとうございます!

大変参考になります。

2004/12/09 11:21:32
id:hebe No.8

回答回数43ベストアンサー獲得回数0

ポイント15pt

http://www.zend.com/php5/contest/contest.php

PHP 5 InfoCenter - Zend's PHP5 Coding Contest

> ちなみに現在、PHPでプログラムを作成しています。

徹底したコードリーディング、PEAR や優れたオープンソースアプリケーションを読む。海外のコードで、権威のある所を数こなして優れたコードに出会いましょう。

コメントについては PEAR を見れば PhpDocumentor を意識したコメントが為されているのでそれでいいでしょう。

他の方がコーディングポリシーについて触れているようですが、それなら まるごと PHP の上鍵さんの章によくまとまっています。

アンテナを高く上げ、優れたコード、優れた手法を常に探求し出会いを求める、これに尽きると思います。

id:fm315

ありがとうございます!

「まるごとPHP」が丁度手元にありましたので、早速読んでいます。

2004/12/09 13:51:53

コメントはまだありません

この質問への反応(ブックマークコメント)

トラックバック

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません