ちなみに現在、PHPでプログラムを作成しています。
http://www.tsukuba-tech.ac.jp/info/staff/kenkyusei/nobuyuki/Prog...
コラム�A プログラムの書き方の基本
こういう見た目のじゃなくて、中身の話ですかね??
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
ありがとうございます!
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.定石を使え。
プログラミングには定石があります。
奇をてらった書き方は、自己満足以外の何者でもありません。
ありがとうございます!
「定石」を知ることができる情報源をお待ちしています。プログラムを書かれている方の経験上のお話でも結構です。
http://www.gihyo.co.jp/books/syoseki.php/4-87408-414-1
書籍案内|gihyo.jp …技術評論社
PHP に限らず、プログラミング全般における定石というのであれば、一般的によく使われるアルゴリズムをまとめた本などを、一度読まれてみるのをオススメします。
実際教育の場で、プログラミング技法をとりあげる場合は、よく使われる定石として、広く知られたアルゴリズムについての学習は欠かせないものとなっています。
URLはアルゴリズムをまとめた図書の一例で、私も持っていますが、C言語は PHP とも割と文法が似ていますので、掲載されているコードも流用しやすいかと思います。
ありがとうございます!
スクリプト言語はどうしてもごちゃごちゃしてきて人の人のソースをチェックしていると泣きそうになることがあります。
すっきりの反対の悪例をあげるので参考にしてください。この点に気をつけていれば相当すっきりしたプログラムができる予感。
共通関数があるのに利用していない。
やたらとフラグをつかっている。
変数の命名規約などの基本的なコーディング規約にちっとも即していない。
同じような関数で微妙に違うのがいくつもある。
そもそも関数なんてない。
ページレイアウトの為のHTMLと実行の為のスクリプトが複雑に入り組んでいる。
ネストが長い。
ひとつの処理が2スクロール以上もある…
外部で定義されているスタイルシートを利用していない。
外部で定義されているページヘッダー情報などを読み込んでいない。
同じ事が永遠と書き連ねてある。
条件判断のための変数が無意味に多く事態を無意味に複雑化させている。
普通にクライアントスクリプトにサーバーサイドスクリプトが盛り込まれている。
仕様として可変的な固定値(数値等)がコードに直接記述されている。
固定値等を宣言したincをそもそも用意していない。
そんなところですかねぇ〜。
これに気をつけていれば相当すっきりしますよ。
ありがとうございます!とても参考になります。
どの言語でも通用するであろう基本的な事が書かれています。
個々の言語で具体的にどうするかに関しては、「コーディング標準」というキーワードで検索すると良いかも。
でも一番大切なのは、コーディングする人自身がやりたい事をしっかりと把握する事ですね。
そのコードで実現したい事を本人が理解していなければ、技術的な知識がいくらあっても結局雑然としてしまいますから。
ありがとうございます!
プログラムをすっきり書く第一歩は、
「明確な仕様書を作成する」です。これ絶対!
プログラムを書き出してから想像力を働かせると
2度手間3度手間になり処理も複雑化してしまいがち
です。
変数リストやフローチャートも必須です。
プログラマ泣かせはクライアントによる思いつきの
仕様変更ですからw
ありがとうございます!
大変参考になります。
http://www.zend.com/php5/contest/contest.php
PHP 5 InfoCenter - Zend's PHP5 Coding Contest
> ちなみに現在、PHPでプログラムを作成しています。
徹底したコードリーディング、PEAR や優れたオープンソースアプリケーションを読む。海外のコードで、権威のある所を数こなして優れたコードに出会いましょう。
コメントについては PEAR を見れば PhpDocumentor を意識したコメントが為されているのでそれでいいでしょう。
他の方がコーディングポリシーについて触れているようですが、それなら まるごと PHP の上鍵さんの章によくまとまっています。
アンテナを高く上げ、優れたコード、優れた手法を常に探求し出会いを求める、これに尽きると思います。
ありがとうございます!
「まるごとPHP」が丁度手元にありましたので、早速読んでいます。
有り難うございます!
どちらかというと、中身の話なのですが、こういった見た目の話についても参考になります。
コメント入れるときのサンプル(どういったものを書いておいた方がよいなど)があると助かります。