最近和人讨论了一些编程中的方法,越发觉得学语法应该不求甚解。

语法掌握的越精深,就越有能力阅读和写出晦涩的代码。但是有能力写出晦涩代码,其实是一种缺陷。因为这会无形之中让你不小心写出晦涩的代码,因为你了解那种晦涩的写法,所以你认为写出来也无所谓。但晦涩代码其实是劣质的代码。

一种典型的坏代码是:

if (a && b && func_do_something());

上面的代码看起来简洁而正确,实际上更好的代码却是下面这种繁琐的写法:

if (a && b) {func_do_something();
}

一些晦涩的运算顺序,程序员最好是不知道。因为程序员如果不知道,就不会去利用运算顺序来写代码,而会老老实实的先运算好。

运算好再逻辑判断的代码,反而是好代码。

转载于:https://www.cnblogs.com/hehe520/archive/2012/10/08/6330373.html

[C++] 我们需要掌握多少语法细节相关推荐

  1. 使用JavaScript变量需要注意哪些语法细节?

    使用JavaScript变量需要注意哪些语法细节?JavaScript在很多地方经常会涉及到,尤其是JavaScript变量这方面,在使用变量时,还有一些值得注意的语法细节,下面进行详细讲解. 使用J ...

  2. 数组做参数_ES6 系列:你不知道的 Rest 参数与 Spread 语法细节

    Rest 参数与 Spread 语法 在 JavaScript 中,很多内建函数都支持传入任意数量的参数. 例如: Math.max(arg1, arg2, ..., argN) -- 返回入参中的最 ...

  3. ES6 进阶:你不知道的 Rest 参数与 Spread 语法细节

    Rest 参数与 Spread 语法 在 JavaScript 中,很多内建函数都支持传入任意数量的参数. 例如: Math.max(arg1, arg2, ..., argN) -- 返回入参中的最 ...

  4. ES6 系列:你不知道的 Rest 参数与 Spread 语法细节

    Rest 参数与 Spread 语法 在 JavaScript 中,很多内建函数都支持传入任意数量的参数. 例如: Math.max(arg1, arg2, ..., argN) -- 返回入参中的最 ...

  5. Vue所有基础语法细节整理复习

    本文已同步到:个人博客地址 本文的所有截图均来自b战coderwhy老师的vue教学视屏,代码时自学自己照着敲的,我只不过是搬运工,如有侵权立即删除 如果看完了这个vue基础,还可以看下面的: vue ...

  6. Python 语法细节(Python 2.x 与 Python 3.x 语法差异)

    Language differences and workarounds 查询 Python 语言版本: >> import sys >> sys.version '3.5.2 ...

  7. C++语法细节注意集锦

    C++ 判断语句顺序 if(条件A&&条件B&&条件C) 程序会先运行条件A,如果条件A为true,再运行条件B.所以根据此规则,注意条件设置的顺序. C++类内定义变 ...

  8. [面试] C/C++ 语法细节拾遗

    数组与指针 C/C++ 中,当数组作为函数的参数进行传递时,数组就自动退化(decay)为同类型的指针. int GetSize(int arr[]) {return sizeof(arr); }in ...

  9. 全民一起玩Python提高篇第四课:深入数据类型与语法细节(下)

    提高健壮性 如果 try 结构的位置不当,可能导致死循环等问题. file_name=input('请输入文件名:') try:with open(file_name) as f:#用with的方式读 ...

最新文章

  1. 《扩展 jQuery》——6.3 总结
  2. 公司网络推广为你解答蜘蛛为什么有抓取网页却没收录?
  3. 修改IIS默认的30M
  4. Ubuntu 16.04 QT ‘usr/bin/ld cannot find -IGL‘
  5. BZOJ 3168 Luogu P4100 [HEOI2013]钙铁锌硒维生素 (矩阵求逆、二分图匹配)
  6. 启明云端分享|在应用SSD201\SSD202D 核心板时,文件系统只读相关问题解决
  7. 《Excel最强功能-数据透视表》 网课笔记
  8. ShopEx customSchema 定制可以根据客户的需求对网站进行相应功能的添加修改或者删除
  9. spring boot 扩展之AutoConfigurationImportListener
  10. Spring Boot –适合您的靴子!
  11. Oracle学习笔记--导航
  12. Oracle 项目就是那回事 ----表空间的管理
  13. error: storage class specified for parameter问题-转
  14. 深圳瑞光康泰RBP-9000C血压仪对接
  15. oracle中怎么建立日志表,怎么在Oracle中创建一个错误日志表
  16. css如何把图片设置成梯形,css实现梯形
  17. Markdown是什么?
  18. 火狐 Firefox 浏览器书签同步问题
  19. 人工智能原理、算法和实践思维导图
  20. 漏洞复现----37、Apache Unomi 远程代码执行漏洞 (CVE-2020-13942)

热门文章

  1. Posterior decompression
  2. avenue在科研文章中的意思
  3. 看一下iFM最新文章
  4. U3D 文档 GPU INSTANCING
  5. 关于shader.createGPUProgram耗时较高的问题
  6. apache_php_tomcat基于主机名的多虚拟主机整合笔记
  7. Hd2087 剪花布条
  8. 对象的浅克隆与深克隆
  9. designer.cs 删除后怎么恢复?(复制aspx修改名字后重新生成页面)
  10. Selenium模拟光标进入和tab键移动