[C++] 我们需要掌握多少语法细节
最近和人讨论了一些编程中的方法,越发觉得学语法应该不求甚解。
语法掌握的越精深,就越有能力阅读和写出晦涩的代码。但是有能力写出晦涩代码,其实是一种缺陷。因为这会无形之中让你不小心写出晦涩的代码,因为你了解那种晦涩的写法,所以你认为写出来也无所谓。但晦涩代码其实是劣质的代码。
一种典型的坏代码是:
if (a && b && func_do_something());
上面的代码看起来简洁而正确,实际上更好的代码却是下面这种繁琐的写法:
if (a && b) {func_do_something();
}
一些晦涩的运算顺序,程序员最好是不知道。因为程序员如果不知道,就不会去利用运算顺序来写代码,而会老老实实的先运算好。
运算好再逻辑判断的代码,反而是好代码。
转载于:https://www.cnblogs.com/hehe520/archive/2012/10/08/6330373.html
[C++] 我们需要掌握多少语法细节相关推荐
- 使用JavaScript变量需要注意哪些语法细节?
使用JavaScript变量需要注意哪些语法细节?JavaScript在很多地方经常会涉及到,尤其是JavaScript变量这方面,在使用变量时,还有一些值得注意的语法细节,下面进行详细讲解. 使用J ...
- 数组做参数_ES6 系列:你不知道的 Rest 参数与 Spread 语法细节
Rest 参数与 Spread 语法 在 JavaScript 中,很多内建函数都支持传入任意数量的参数. 例如: Math.max(arg1, arg2, ..., argN) -- 返回入参中的最 ...
- ES6 进阶:你不知道的 Rest 参数与 Spread 语法细节
Rest 参数与 Spread 语法 在 JavaScript 中,很多内建函数都支持传入任意数量的参数. 例如: Math.max(arg1, arg2, ..., argN) -- 返回入参中的最 ...
- ES6 系列:你不知道的 Rest 参数与 Spread 语法细节
Rest 参数与 Spread 语法 在 JavaScript 中,很多内建函数都支持传入任意数量的参数. 例如: Math.max(arg1, arg2, ..., argN) -- 返回入参中的最 ...
- Vue所有基础语法细节整理复习
本文已同步到:个人博客地址 本文的所有截图均来自b战coderwhy老师的vue教学视屏,代码时自学自己照着敲的,我只不过是搬运工,如有侵权立即删除 如果看完了这个vue基础,还可以看下面的: vue ...
- Python 语法细节(Python 2.x 与 Python 3.x 语法差异)
Language differences and workarounds 查询 Python 语言版本: >> import sys >> sys.version '3.5.2 ...
- C++语法细节注意集锦
C++ 判断语句顺序 if(条件A&&条件B&&条件C) 程序会先运行条件A,如果条件A为true,再运行条件B.所以根据此规则,注意条件设置的顺序. C++类内定义变 ...
- [面试] C/C++ 语法细节拾遗
数组与指针 C/C++ 中,当数组作为函数的参数进行传递时,数组就自动退化(decay)为同类型的指针. int GetSize(int arr[]) {return sizeof(arr); }in ...
- 全民一起玩Python提高篇第四课:深入数据类型与语法细节(下)
提高健壮性 如果 try 结构的位置不当,可能导致死循环等问题. file_name=input('请输入文件名:') try:with open(file_name) as f:#用with的方式读 ...
最新文章
- 《扩展 jQuery》——6.3 总结
- 公司网络推广为你解答蜘蛛为什么有抓取网页却没收录?
- 修改IIS默认的30M
- Ubuntu 16.04 QT ‘usr/bin/ld cannot find -IGL‘
- BZOJ 3168 Luogu P4100 [HEOI2013]钙铁锌硒维生素 (矩阵求逆、二分图匹配)
- 启明云端分享|在应用SSD201\SSD202D 核心板时,文件系统只读相关问题解决
- 《Excel最强功能-数据透视表》 网课笔记
- ShopEx customSchema 定制可以根据客户的需求对网站进行相应功能的添加修改或者删除
- spring boot 扩展之AutoConfigurationImportListener
- Spring Boot –适合您的靴子!
- Oracle学习笔记--导航
- Oracle 项目就是那回事 ----表空间的管理
- error: storage class specified for parameter问题-转
- 深圳瑞光康泰RBP-9000C血压仪对接
- oracle中怎么建立日志表,怎么在Oracle中创建一个错误日志表
- css如何把图片设置成梯形,css实现梯形
- Markdown是什么?
- 火狐 Firefox 浏览器书签同步问题
- 人工智能原理、算法和实践思维导图
- 漏洞复现----37、Apache Unomi 远程代码执行漏洞 (CVE-2020-13942)