3

私は今年の夏にかなり大きなPHPアプリケーションを開始する予定であり、その上で私が唯一の開発者になります(したがって、私自身以外に準拠するコーディング規則はありません)。

PHP 5.3は、愚かな名前空間トークンにもかかわらず、まともな言語IMOです。しかし、それについていつも私を悩ませてきたのは、標準ライブラリとその命名規則の欠如です。

だから私は興味があります、名前を少し良くするために私自身の関数/クラスで最も一般的な標準ライブラリ関数のいくつかをラップすることはひどく悪い習慣でしょうか?場合によっては、一部の機能を追加または変更することもできると思いますが、現時点では例はありません(作業中に、機能をOOにする方法や、動作を少し変える方法を見つけることができると思います)。

PHP開発者がこれを行うのを見た場合、「男、これは1人の見苦しい開発者だ」と思いますか?

さらに、PHPが最適化されているかどうか/どのように最適化されているかについてはあまり(または何も)知りません。また、通常、PHPのパフォーマンスは重要ではないことを知っています。しかし、このようなことを行うと、アプリケーションのパフォーマンスに顕著な影響がありますか?

4

4 に答える 4

6

今の開発者はあなただけかもしれませんが、他の誰かがこのコードを手に入れることはありますか? その場合、単に呼び出しをラップするだけの場合は、主に標準ライブラリ名に固執する必要があります。

私は、作成者がこのような呼び出しをラップしたコードで作業しましたが、コードをすばやく理解する能力を実際に損ないます

PHP 開発者がこれを行っているのを見たら、「おお、これは粗悪な開発者だな」と思いますか。

いいえ...しかし、私は「くそー...私はこの人の新しい命名基準を学ばなければなりません。それは善意ではありますが、私には時間がかかります」

于 2010-04-02T10:24:00.560 に答える
4

function (needle, haystack)命名規則だけでなく、function(haystack, needle)パラメーターの順序の陽気な混合についても言及していると思います。

自衛のために、これらの周りに健全なラッパーを構築したいという欲求は完全に理解できます。ただし、プロジェクトに独自のレイヤーが追加され、他の人にとって理解しにくくなるという理由だけで、私はむしろそれを行いません。誰もが何をするかを知っていますが、それが何をするかを調べるために調べたり、調べたりする必要array_pushがあるかもしれません.MyArrayFunctions::push

この場合、それらは確かにくだらないものですが、私は標準に固執する傾向があります。さらに、入力時に関数とパラメーターを検索できる適切な IDE を使用すると、問題はすでに大幅に軽減されています。

一方で、たとえば、Arrayすべてのpush()pop()array_this()およびarray_that()を 1 つの標準形式にまとめた静的クラスには、実際には何の害も見られません。それはあなた次第だと思います。

于 2010-04-02T10:24:58.883 に答える
2

単純なラッパーはパフォーマンスに影響を与えませんが、プロジェクトの将来の開発者を混乱させる可能性があります。PHP プログラマーとして、奇妙な命名規則を徐々に期待するようになります。

何らかの機能を追加する場合、一貫した規則を持つことは素晴らしいことです。私は、ネイティブ配列関数をラップした (そして新しいものを追加した) PHP 静的クラスを使用しました。引数の配置が常に同じであることは非常に便利でした。

于 2010-04-02T10:17:54.980 に答える
0

私の意見では、たとえば配列の OOP 実装は問題ありません。それらをラップして機能を部分的に変更しますが、関数の名前を変更して引数をシャッフルするだけでは好きではありません。

本当に必要な場合は、phpdoc でコメントして、IDE のオートコンプリートで正しい構文を確認できるようにしてください。

于 2010-07-05T15:57:27.307 に答える