Yahoo!みんなの検定 スタッフブログ

みんなの検定での検定作成や受験に役立つ情報をお届けします。

その他

[ リスト | 詳細 ]

記事検索
検索

全8ページ

[1] [2] [3] [4] [5] [6] [7] [8]

[ 前のページ | 次のページ ]

PHPコーディング規約

こんにちは、大ちゃんです。2度目の投稿です。
本格的に寒くなってきて、朝起きるのがつらくなってきた今日この頃です (´σд-。)zzZ。

・・・と、個人的な近況はさておき、今回はコーディング規約のお話し。

みんなの検定正式版を開発するにあたって、既存のベータ版で自分が書いたソースコード
を読み返してみると、お世辞にも綺麗とは言い難い個所が多々ありました。正式版では
ぜひここらへんも気をつけていこうと思い、コーディング規約について少し調べてみまし
た。

PHPでのコーディング規約については、「Zend Framework PHP 標準コーディング規約」と
「PEAR コーディング標準」が提示されています。


自分は少し(というかかなり!?)ソースは汚く書いてしまうほうだし、そもそもあんまり
かっちりと規約に則って書くのもどうかな・・・と思ってしまう方なのですが、他の人が見た
場合の可読性については最低限保障しなければ・・・と懺悔し(-人-)、心を入れ替えていく
予定です。あとはパフォーマンスやセキュリティ面でも気をつけなくてはいけないポイン
トもありますしね。

それぞれのコーディング規約についてはリンク先を読んでいただいたほうが早いので、中
でも個人的に「これは知らなんだ・・・(;'-')!!」とか、「これは気をつけよう・・・(||-_-)」
っていうところを取り上げてみました。


1. PHPコードのタグについて

<? ?> っていう省略形は推奨されていません。ちゃんと、<?php ?> と書きましょう。
これは知ってましたよね。PEAR互換とするために必要です。では、これ知ってました?

PHPのみで書かれたソースに関しては、終了タグ"?>"を含めないこと!

知らなかった・・・。これは、終了タグを含めるとファイルの最後にある空白が出力結果
に悪さをすることがあるからだそうです。但し、終了タグを使用する場合でも、ファイ
ル末尾をLF(ラインフィールド)で終了させれば問題ないそうです。

2. require_once() と include_once() の違い

この2つの関数、違いって意識したことありますか?自分は正直、なんとなくでした。
両方とも動作としては同じ動きをします。外部ファイルを、まだ読み込まれていない場合
に限り、1度だけ評価します。では、使い分けはどうなんでしょう?

規約によると、require_once() は無条件で読み込む場合、include_once() は何かしらの
条件が真だった場合に読み込む場合、だそうです。

require_once "hoge.php";

if ( $flg ) {
  include_once "foo.php";
}

↑ってな感じでしょうかね。どちらも同じ動きをするのに2つ用意されているのは何故なの
かは、わかってません(;^-^)。ちなみに冒頭で「この2つの関数・・・」と書きましたが、
実はこれらは「命令」であって、「関数」ではないそうです。なので、読み込むファイルを
() でくくる必要はないそうです。

3. 正規表現は、可能なら文字列関数で代用した方が処理が早い

・・・なんだそうです。例えば、変数 $text の中に文字列が代入されていて、この中に"hoge"
という文字列が含まれているかどうかをチェックする場合などは、

if ( preg_match( "/hoge/", $text ) )

という条件式を書くよりも、

if ( strpos( $text, "hoge" ) !== false )

と書いた方が処理が速いんだそうです。なるほど。PHPは文字列処理関数も豊富に用意され
ているので、見直す部分はたくさんありそうですね。

4. 全ての変数は初期化されるべき

これは基本ですね。以前の記事でも触れましたが、初期化している個所があることで、この
変数にはどんな型の値が代入されるのかということも把握しやすくなりますし。・・・とこれは
今さらという感じなのですが、実は処理面でも違いが出てくるそうです。

例えば以下のようなソース。

$num = 0;
while ( {何らかの条件} ) {
  $num++;
}

このソース、最初の"$num = 0;"が書かれているのといないのとでは、処理速度が10倍くらい
変わってくるそうです。う〜ん、10倍ってすごい。初期化癖をつけるようにしようっと。

5. 変数命名について

これは人それぞれ癖みたいのもありますよね。どんな変数名を付けるかで、その人の性格が
垣間見れたり、「あ、この変数の付け方は○○さんだね」ってな会話が生まれたり、自分の
ように英語のスペルをミスっていたり(;´・3・`)、十人十色、わりと自由にやるのが
個人的には好きなのですが、ここらへんもやっぱり規約があるらしいです。

例えば「人の名前」を入れる変数を用意するとします。皆さんならどんな変数名をつけます
でしょうか?

$username
$user_name
$userName
$UserName
$onamae

などなど、同じ綴りでも大文字・小文字や、アンダースコアの有無など、いくつかパターンが
考えられますよね。最後に揚げたやつのように、日本語でローマ字表記する変数名なんてのも
ありと思います。

Zendの規約では、この中では"$userName"の書き方を規定しています。単語ごとに区切り、
はじめは小文字、その後は単語の先頭だけを大文字にする、いわゆる"lowerCamelCase"
のフォーマットですね。これは、関数名にも適用されています。

また、アンダースコアの仕様は推奨されていません。アンダースコアを適用すべきは、
クラスのメンバ変数で可視性がprivateかprotectedのものだけだそうです。なんでだろ。

こんなところが個人的には気になりました。他にもこと細やかに定義されていますので、
一度読んでみてはいかがでしょう。お腹いっぱいになりますよ(;-.-)=3

全てに準ずるのはどうかと思いますが、チーム内ではある程度決めておくべき点もある
ように思います。一回みんなで話し合ってみたいですね。以上、長文すんません。
はじめまして、タッチです。

こんなのあるなんて知りませんでしたー
先日携帯をおうちに忘れて、困ったので・・・・・・
なんとなく身近な出来事で思わず投稿。


プライベートで留守電聞くぐらい、急用があるかとわれると、
私の場合そうではないのですが・・・・・・^^;
しかも、Docomoは、契約時に留守電とか契約すると安くなるので一回契約しちゃいますが、
月額料が発生してしまうので、すぐ解約とかしちゃいます・・・・・・。

でも会社携帯とか忘れてしまったときはこういう番号を知っていると、
便利かもしれないですねー。

携帯会社のお得情報ってなかなかユーザに
知られていないこと多いですよね・・・・・・
(私だけかも・・・・・・!?)



■関連するリンク

こんにちは、読書の秋ですね。検定スタッフの(・ヶ・)です。
学生時代はよく図書館に本を読みに行っていた私から、図書館ネタをひとつお送りします。


国会図書館のページがリニューアルというか、超進化をとげていました。

登録して少しいじってみると、ものっそいソーシャル感に圧倒されました。
具体的な内容はというと……

ソーシャルブックマーク的機能

・検索書籍をブックマークとして登録可能
・タグとコメントもつけられる
・公開可能

レコメンド機能

・「この資料をみたユーザーは他に以下の資料も……」
↑これが蓄積されていくと、もともとの情報量の多さと相まってすごいことになるんでなかろうか。

RSSフィード登録

・単純に便利。複数登録可能

レイアウト変更

Myページのレイアウトを、上下限定ですが
ドラッグ&ドロップでガコガコ変更可能。大変だったろうに。

連携用にAPI提供(予定)

このデータベース+ユーザーが付加した情報が
提供されるとしたら、何かと面白いことに使えそうな感じ。


今はアクセスが集中してるのか、重くてユーザー登録にも一苦労しますが、これからに超期待です。

さりげなく、「江戸川乱歩」で検索すると類義語にちゃんと、「平井太郎」(本名)も表示されたのに感心しました(前からだったかも)。


■関連するリンク

みんなの検定で「図書館」のタグがついた検定
http://minna.cert.yahoo.co.jp/LIST/tag?x=%FD%FE&tag=%BF%DE%BD%F1%B4%DB&sel=2&k=%BF%DE%BD%F1%B4%DB

マウス症候群

今回よりブログの内容をプチリニューアルします。
これまでの検定に関するブログのほかに、技術的な話やスタッフが見たり聞いたりした役に立つ話題も載せていきます。
楽しんでいただけるブログを目指しますので、どうぞよろしくお願いします。

さて、プチリニューアル最初の人は大ちゃんが登場します。


マウス症候群


最近、腕・肩・首筋が張ってしまうことがよくあります。

まぁ、パソコンが原因だとはわかっているんだけど、体調もあまりすぐれ
ない今日この頃、ちょっと調べてみると、「マウス症候群」なる言葉を見かけ
ました。


10個の質問の中で、該当する項目数で判定するというお馴染みの形式です。
7個以上がマウス症候群の兆候があるらしいのですが、自分はジャスト7個の項目
に当てはまりました(;´-ω-)・・・。


この記事のタイトルが「PCヘビーユーザを襲うマウス症候群」と題されていますが、
こういう仕事をやっている以上、自分もヘビーユーザに該当するんでしょうね。
気をつけたいものですが、こればっかりはなかなか・・・。ただ、仕事量に反比例して、
自宅でのPC使用率は激減しています(最近は電源すら入れなくなってきた(汗))。

みなさんもチェックしてみて、該当する場合は気をつけましょう。オススメの体操も
載ってましたよ(^-^)。


個人的には、動物型の「陶器でできたかわいいツボ押し」を、仕事場に一つ置こうかなと考えている今日この頃。



■関連するリンク

カラダのツボ検定
http://cert.yahoo.co.jp/b/guide?c=67

こんにちは、「BR+(ビーアール・プラス)」企画担当のNSです。

今日は、Yahoo!インターネット検定スタッフブログにお邪魔して、
ブログをご利用いただいている皆さんが得しちゃう方法を伝授しちゃいます。

Yahoo! JAPANが、ブログネタとなる企業のサービスや商品情報もしくは、
キャンペーン情報を提供するサービス、BR+(ビーアール・プラス)を
9月19日よりリースします。

リリースを記念してYahoo!ポイントプレゼント・キャンペーンを実施します!

9月19日から10月18日のキャンペーン期間中に会員登録された方の中から、
Yahoo!ポイント1,000円相当を抽選で500名様にプレゼントします!!
http://brplus.yahoo.co.jp/brplus/pc/campaign

ブログを既に開設していて、Yahoo! JAPAN IDを持っていれば誰でも参加できます。

ブログはYahoo!ブログだけでなく、他社のブログサービスでもOKです。
もちろんジオログでも参加OK!

ブログを持っていなくとも、これを機会にブログを開設して
参加することも可能です。

暑かった夏も終わりを告げる季節となり、食欲の秋は間近です。
ここらでポイント集めて季節のお取り寄せでもしませんか?


■関連するリンク
BR+(ビーアール・プラス)
http://brplus.yahoo.co.jp/brplus/pc/

全8ページ

[1] [2] [3] [4] [5] [6] [7] [8]

[ 前のページ | 次のページ ]


プライバシー -  利用規約 -  メディアステートメント -  ガイドライン -  順守事項 -  ご意見・ご要望 -  ヘルプ・お問い合わせ

Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.

みんなの更新記事