phpについて質問です。phpについて質問です。インターネットウェブ制作phpについて質問です。独学で覚えて、ウェブサービスを作るようになりました。「汚い」ので、キレイに書く&管理する方法を学びたいと思っています。浅く広くで良いので、おすすめの本やURLをお教えください。以下、具体的にどう汚いかをご説明します。継ぎ足し継ぎ足しでサービスを拡充した結果、いろんなファイルやデータが散らかっています。ファイルや変数の名前の付け方もディレクトリもルールが無く曖昧。無駄な処理が多くて、スピードアップできる余地も多々あるはず。お客さんは結構来て、儲けも取れそうですのでそろそろ、きちんとした開発をしようと考えました。こんな状態で「キレイに整えて下さい」とプロのエンジニアに投げると絶対嫌がられると思うので、まず事前に自分なりに整理してみようと思いました。標準コーディング規約」の項は参考になるかと・・・。http://www.ivystar.jp/archives/category/php/整理を始める事によって既存のシステムがおかしくなる事は多々ありますので整理をするのであれば、まずは機能を紙に書き出して整理するところから始めてテスト項目を洗い出した上で改変&置換していくほうがよろしいかと・・・。ありがとうございます。いう感じの情報がもっと欲しいです。tipsというよりは体系的に学べるものだと尚良いです。皆様宜しくお願いします。00:28:1817ptPHPの標準開発規約としては、以下の2つが参考になるでしょう。標準コーディング規約ありがとうございます。Frameworkは名前を良く聞きますがよく見てみたら自分がいま部分的に使っているのはPEARですね。開発規約というものがあるのは知りませんでした。最大公約数的な、一番使われているフレームワーク?開発規約?は、何なのでしょうか。ちなみに主に作っているのは、色んなAPIを引っ張ってくるようなマッシュアップサイトです。会員登録でDB使いますが大した量ではありません。11:11:2617ptきれいに書きたいですよね。ファイル・変数名のつけ方や、ディレクトリのルールPEARのライブラリの中を読んでみてはいかがでしょうか。全てがきちんとしたきれいなコードというわけではないですが、ある程度参考になるとは思います。オブジェクト指向?(よく分かってません)的な構成とかPHPを学んでいくならオブジェクト指向は避けて通れないと思います。入門書的なものが思い浮かばないので、とりあえずwebで調べてみてはいかがでしょうか。http://www.atmarkit.co.jp/im/carc/serial/object01/object01.htmlなど「オブジェクト指向」で調べるといろいろ出てきます。複数人でプログラムを管理するためのコメントの付け方とか、PHPDocというものがあり、こちらでほぼ統一されるかと思います。JavaDocのwikipediaが参考になります。http://ja.wikipedia.org/wiki/Javadoc各言語に○○Docというのがありますが基本的に書き方は一緒です。あと既出ですがコーディング規約でコメントのつけ方を指定している所もあります。プログラム全体の構成図の書き方とか、これはある程度の規模のフレームワークを読み解くのが一番かと思います。コメントが日本語でついてるEthnaあたりが読みやすいかと思います。あと「リファクタリング―プログラムの体質改善テクニック」という本がありますのでこちらはプログラムをきれいに書き直すのに有用かと思います。ご丁寧にありがとうございます。オブジェクト指向って、一種の思想なんですね。頂いた情報を元に事例を読みこなして、勉強していきたいと思います。13:57:5217pt自分で記述したコードが不ぞろいなのであれば、関数の命名規則を作り、インデントを徹底的に行ってください。他人が読むことを意識したコードを書く癖をつけるべきです。PHPの絵本など、簡単な書籍でもサンプルコードはついているので、まずはそれを見て書式を真似するのがいいんじゃないでしょうか。ありがとうございます。手元の書籍を参考にしてみますね。17:50:0017ptまずは、自分の中のルールとして、コーディング規約や、命名規則をまとめてみてください。すべては紹介できませんが、*クラスの命名規則クラス名には英数字のみ使用。クラス名から内容が理解しやすい名前を付ける。略語の使用は極力控える。クラス名は大文字から始める。文字目を大文字にする。大文字が連続する名前は使用しない。文字目以降を小文字にする。etc...などを、あらかじめ決めておいて、少し意識しながらコーディングするといいと思います。phpspot上記等を参考にまとめてみてはいかがでしょうか?なるほどなるほど、この名詞の対象性は分かりやすいですね。イメージが沸いてきました。ご丁寧にありがとうございます。06:45:1917pt重要な事は、今後、プロのエンジニアに依頼を出来るスキルをつける事で、ご自身がプロのエンジニアになる事とは違います。既出の情報を事細かく理解する必要はありません。あなたは、ご自身で勉強されて、サイトを構築し利益も出し始めてるのですから、今後は、その利益をもっとあげる為の勉強に一番時間を費やすべきです。プロのエンジニアも、プログラマーレベルであれば、綺麗に書く事の費用対効果の計算は出来ません。ドキュメントを1から10まで残す事、プログラムを綺麗に書く事、これらの作業には、時間が掛かります。複数の人間や、複数の会社に発注をする場合には、ある程度の基準が必要ですが、この基準をどこに置くかで、利益率に繋がってきます。あまりにも基準を高くすると費用ばかり食って、利益を損ないかねません。既出の情報は、良い情報なので、ご覧になるには良いと思いますが、わたしの経験からするとサラッとこれらの情報をお読みになったレベルで十分ですので、発注されて構わないと思います。何も現在動いている物を書き直してから発注する必要は無いと思います。その方が効率的だと私は考えます。ありがとうございます。勘所は押さえておこうと思って問い合わせた次第です。分業は美しいですが、スモールスタートにおいては中々難しいですね。ありがとうございました。04:19:4717ptまず「キレイなコードとはどんなコードか」のイメージが必要でしょう。挙がっていますが、マーチン・ファウラーの『リファクタリング』は必携書です。リファクタリングとは何か、整頓されたコードとはどんなコードかという所から始まり、「コードが汚い」状態に気づくためのコツを教えてくれます。オブジェクト指向の考え方の次は、クラス同士をどう関係させるとスッキリするかの経験。これはフレームワークをちょっと使ってみるのが手っ取り早いと思います。面倒ならばマニュアルだけ斜め読みしても相当得るものがあるとは思いますが。個人的には必要最小限の機能でまとまってるCodeIgniterが好きですが、正直どれでも大差ないと思います。アプリケーションアーキテクチャパターン』(PoEAA)が最強の一冊です。凄すぎて理解不能ですが。開発規模が大きくなるとソースコード管理が必須になってくるので、TortoiseSVNをインストールした方がよいと思います。複数人開発ならばサーバーを用意して運用するのですが、ひとりならばサーバーではなくローカルのファイルを使ってバージョン管理をすることも可能です。将来像の参考になりました。ありがとうございます。22:23:58回答できないので、コメントで。ある程度作成できるようになると、プログラムに「キレイ」を求めるようになりますよね。私も何年も前のコードとかを見ると、自分で恥ずかしくなっちゃいますからね。Framework、cakePHP、Symfonyあたりだと、これからもWeb系の開発をするのであれば、1つの指標になるでしょう。フレームワークはパフォーマンスを犠牲にしている部分もありますので、開発されている規模や内容によっては不適切な場合もあるかもしれません。いった仕組みをみると、自分に必要な共通化がどこまでなのかなんかを考えるいいきっかけにもなると思いますよ。以前に、Smartyを使い始めたころに、ここまで柔軟じゃなくてもいいと思って、Smartyの劣化コピーのようなものを作成したことがあります。Smartyよりも使い勝手は悪いですが、自分がそのときに作りたかったものには必要十分な機能だったので、重宝した覚えがあります。03:49:11ありがとうございます。現状、恥ずかしくてたまらない状態です。いずれは他の人に開発・運用を移管したいと考えていますので今からフレームワークを取り入れてスッキリしてみます。Frameworkでしょうか?(個人的に名前を良く聞くので)一旦、有名なフレームワークに置き換えてから自社開発に置き換えるかを改めて検討してみます。Smarty....と、各々に特徴がありますし、機能も違います。皆さん、目的に応じて使い分けているのではないでしょうか。最大公約数的な、一番使われている開発規約?自社の開発標準を適用しているケースが多いのではないでしょうか。(0)@${screen_name}${name}${text}Twitterでのつぶやきはまだありません「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。これ以上回答リクエストを送信することはできません。はてなココの「ともだち」を表示します。回答リクエストを送信したユーザーはいませんすでに登録されている方はこちらからログインツイートするウォッチリスト4人が登録していますこの質問に含まれるキーワードオブジェクト指向99ウェブサービス171PHP7642変数1021ディレクトリ1503エンジニア357プログラム4913URL11071関連質問matttsu以下のURLについて質問です。Server)からhttp(WebDav?...212006/07/0670ptkt26PHPとMySQLでWEBシステムを構築しています。MySQLに保存し、各ペー...332008/06/0480ptyosjp最近日本でもiPadが発売されて話題になっていますね。...42010/08/241200ptysgear「PHP」を使って、会員管理・登録データの編集機能のあるプログラムを作りたいです。...312007/02/2190ptyosjp最近日本でもiPadが発売されて話題になっていますね。...222010/08/241200pttowadaエレベーターの昇降を管理するプログラムの仕様について解説を探しています。...12001/08/11ryowindows2000で[スタート][プログラム][スタートアップ]の中に無いのに、起動するたびにタスクバーに現れるプログラムがあります。}}${price}円{{/if}}知りたいことを検索してみようログインして回答する進んだ先のページで「許可する」ボタンを押してはてなによるアクセスを許可すると、認証が終わります。ご利用にあたりましては、はてな利用規約が適用されます。ご確認いただきご同意の上でご利用ください。