最佳实践是编写其他人可以轻松阅读和更新的代码.
您的第一个表单有问题,因为它不遵循大多数PHP开发人员习惯的表单:
if (condition) { // code } else { // code } // ... or ... if (condition) { // code } else { // code } // ... or ... if (condition) { /* short code */ } else { /* short code */ } // ... or ... condition ? /* short code */ : /* short code */;
请注意,这完全是关于标准做法,并不一定有意义 - 它只是关于其他开发人员习惯看到的内容.
更重要的是,你的第二种形式并不是那么好,因为它使另一个程序员很容易犯这个错误:
if (condition) // code A else // code B // code C (added by another programmer)
在这个例子中,另一个程序员添加了code C
,但忘了将整个else
块包装在大括号中.这会引起问题.您可以通过简单地将您的if
和else
块包裹在大括号中来抵御这种情况.
最佳实践是编写其他人可以轻松阅读和更新的代码.
您的第一个表单有问题,因为它不遵循大多数PHP开发人员习惯的表单:
if (condition) { // code } else { // code } // ... or ... if (condition) { // code } else { // code } // ... or ... if (condition) { /* short code */ } else { /* short code */ } // ... or ... condition ? /* short code */ : /* short code */;
请注意,这完全是关于标准做法,并不一定有意义 - 它只是关于其他开发人员习惯看到的内容.
更重要的是,你的第二种形式并不是那么好,因为它使另一个程序员很容易犯这个错误:
if (condition) // code A else // code B // code C (added by another programmer)
在这个例子中,另一个程序员添加了code C
,但忘了将整个else
块包装在大括号中.这会引起问题.您可以通过简单地将您的if
和else
块包裹在大括号中来抵御这种情况.
我的偏好是否一致......所以:
if(...) { statement 1; statement 2; } else { statement 1; statement 2; }
没有什么不同于:
if(...) { statement 1; } else { statement 1; }
所以我总是使用它们,因为它是一致的,它避免了以后忘记添加它们的问题.
然而,其他人会查看我的代码并认为放入{和}是愚蠢的.他们有他们的理由,我有我的...我碰巧喜欢我的理由而不是我喜欢他们的原因:-)
通常不可读的代码是一种不好的做法.单行更有效地输入并保存行号,但是从现在开始一年或者在扫描错误时再回到它,这将使它变得更加困难.
在我看来,是的,单行if语句是不好的做法.
计算机并不是真正关心(据我所知),但是你应该总是编写你的代码,它将由一个知道你住在哪里的连环杀手来维护.
可读!轻松自我辨别.