優れた PHP コードを記述するには?これで、基本的にすべてのニーズを達成できましたが、コードが非常に乱雑で、ロジックがあまり良くありません。どうすれば改善できますか?
返信内容:
優れた PHP コードを記述するには?これで、基本的にすべてのニーズを達成できましたが、コードが非常に乱雑で、ロジックがあまり良くありません。どうすれば改善できますか?
高品質という言葉は、可読性、スケーラビリティ、セキュリティ、結合性、操作効率などの指標に定量化されるべきだと思います。このようにしてのみ、秩序ある方法で従うことができ、良いコードを書くことが形而上学になることはありません。
可読性: これは個人的には特に重要だと思います。変数名とメソッド名は他の人に明確に理解されていますか? 命名には一貫性があり、手抜きではありませんか?
-
拡張性: 拡張可能なプログラムの活力は強力であり、PHP 自体は拡張性が高く、非常に便利であることがよく知られています。比類のない拡張性。
vim
- セキュリティ: この重要性は自明のことですが、セキュリティがなければ、コードがどれほどエレガントであっても意味がありません。
- 結合度: プログラムのロジックは過度に結合してはならず、1 つの動作が全体に影響を与えるため、コードの再利用性が非常に高くなります。 動作効率: 世界最高の格闘技は高速でなければなりません。優れたアルゴリズムにより、プログラムの実行効率が数桁速くなります。 それは今日でも空虚な話ではありません。
-
要約すると、高品質のコードを書くのは決して簡単ではありません。より多くの車輪を外して、他の人がそれをどのように構築するかを確認することができます。
もっと優れたコードを見たいですか?このテーマに関する本はあるでしょうか?数据结构+算法=程序
http://www.php-fig.org/psr/
すべてのテストに合格し、要件を最初に満たしました
- 可能な限り重複を排除: 高い凝集性と低い結合性
-
- コア: 高い凝集性と疎結合 (単一責任)、外部依存関係、エンティティ対抽象プログラミング、抽象化は階層化です
1 つのメソッドで if ステートメントを多用しないでください。多すぎる場合は、複数のメソッドに分割してください。再利用できる可能な限り多くのメソッドを解体します。
高品質のコードを書くための最も重要な前提条件は、「高品質の PHP コード」とは何かを知る必要があるということです。
高品質のコード多くの github PHP プロジェクトでは、時間をかけて読むだけで十分であることがわかります。もちろん、ここで重要なのは、単に一行一行読むことではなく、このコードについてどう思うか、その構造設計が良いかどうか、内部設計のアイデアを改善できるかどうか、ということです。このようにゆっくりと自分自身について考えることで、自分自身を大きく改善することができます。
私のおすすめは、このシンプルなロガーデザイン yii2/framework/log などの yii2 フレームワークです
> を参照して、コード プロジェクトとロジックを最適化してください
PHP 開発コーディング標準に厳密に従ってください
php把负数转为正整数的方法:1、使用abs()函数将负数转为正数,使用intval()函数对正数取整,转为正整数,语法“intval(abs($number))”;2、利用“~”位运算符将负数取反加一,语法“~$number + 1”。

实现方法:1、使用“sleep(延迟秒数)”语句,可延迟执行函数若干秒;2、使用“time_nanosleep(延迟秒数,延迟纳秒数)”语句,可延迟执行函数若干秒和纳秒;3、使用“time_sleep_until(time()+7)”语句。

php字符串有下标。在PHP中,下标不仅可以应用于数组和对象,还可应用于字符串,利用字符串的下标和中括号“[]”可以访问指定索引位置的字符,并对该字符进行读写,语法“字符串名[下标值]”;字符串的下标值(索引值)只能是整数类型,起始值为0。

php除以100保留两位小数的方法:1、利用“/”运算符进行除法运算,语法“数值 / 100”;2、使用“number_format(除法结果, 2)”或“sprintf("%.2f",除法结果)”语句进行四舍五入的处理值,并保留两位小数。

在php中,可以使用substr()函数来读取字符串后几个字符,只需要将该函数的第二个参数设置为负值,第三个参数省略即可;语法为“substr(字符串,-n)”,表示读取从字符串结尾处向前数第n个字符开始,直到字符串结尾的全部字符。

判断方法:1、使用“strtotime("年-月-日")”语句将给定的年月日转换为时间戳格式;2、用“date("z",时间戳)+1”语句计算指定时间戳是一年的第几天。date()返回的天数是从0开始计算的,因此真实天数需要在此基础上加1。

方法:1、用“str_replace(" ","其他字符",$str)”语句,可将nbsp符替换为其他字符;2、用“preg_replace("/(\s|\ \;||\xc2\xa0)/","其他字符",$str)”语句。

查找方法:1、用strpos(),语法“strpos("字符串值","查找子串")+1”;2、用stripos(),语法“strpos("字符串值","查找子串")+1”。因为字符串是从0开始计数的,因此两个函数获取的位置需要进行加1处理。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

SublimeText3 英語版
推奨: Win バージョン、コードプロンプトをサポート!

EditPlus 中国語クラック版
サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境

ホットトピック



