代码风格研究:左花括号 是否换行???
代码 研究 是否 风格 换行 括号
2023-09-14 08:57:26 时间
C/C++中左花括号位置的争论由来已久,本文分析了两种写法产生的历史缘由,并提出现在我们应该采用的写法和理由。
下面是引起争论的两种风格:
K&R风格:
if (a > 100) { //do somthing… }
(注:1978年贝尔实验室正式发表了C语言。同时由B.W.Kernighan和D.M.Ritchie (K&R)合著了著名的《The C Programming Language》一书。书中推荐了一套代码编写标准,有人称之为《K&R》标准。)
微软风格:
if (a > 100) { //do somthing… }
网上的朋友有些支持K&R, 因为是它更经典,有的支持微软,因为它更现代,有的认为只是一种习惯,哪种都可以,无须纠结。但我还是存在一个疑问:从观感来看,微软的风格显然更悦目,更对称,为什么K&R要推荐这种看上去有些怪异的风格?除了习惯之外,我想不出这样做的哪怕是一个好处。
最近忽然想到,这可能和早期显示器的分辨率有关:以1981年IBM推出的第一台计算机彩色显示器标准CGA为例,它的最高分辨率为640*200。竖向分辨率居然只有200, 现在一台普通的22寸显示器的竖向分辨率是1080,大约是它的5倍!在这种情况下,屏幕空间就金贵了,K&R的风格可以省一行的空间,否则一屏根本显示不了几行代码。有时候令人非常困惑的问题,答案往往意想不到的简单,不是吗?
明白了这一点,争论就可以结束了:今天当然是用微软风格,因为K&R风格的理由已经不存在了,今天你能找到的再旧显示器分辨率恐怕也不会低于1024*768吧?所以还是要知其所以然,不能死记硬背大牛的教条。
注意:刚开始我用的是 左括号换行,后面改成了 不换行,让代码紧凑些,详情参考:
相关文章
- 完全不写测试脚本,不研究代码,月薪30K的路径
- 从后端到全栈,低代码一步搞定
- R语言LME4混合效应模型研究教师的受欢迎程度|附代码数据
- Python基于粒子群优化的投资组合优化研究|附代码数据
- R语言Apriori关联规则、kmeans聚类、决策树挖掘研究京东商城网络购物用户行为数据可视化|附代码数据
- R语言主成分PCA、因子分析、聚类对地区经济研究分析重庆市经济指标|附代码数据
- R语言分布滞后非线性模型(DLNM)研究发病率,死亡率和空气污染示例|附代码数据
- R语言Apriori关联规则、kmeans聚类、决策树挖掘研究京东商城网络购物用户行为数据可视化|附代码数据
- 基于R语言混合效应模型(mixed model)案例研究|附代码数据
- R语言主成分PCA、因子分析、聚类对地区经济研究分析重庆市经济指标|附代码数据
- 中学再不学编程就晚了?MIT、JHU研究:程序员大脑思考代码的机制不对劲
- 【Groovy】Groovy 方法调用 ( Groovy 构造函数中为成员赋值 | Groovy 函数的参数传递与键值对参数 | 完整代码示例 )
- 单细胞韧皮部研究代码解析1-QC_filtering.R
- [代码]创建动态长度的字符串[CL_ABAP_ELEMDESCR->GET_C()]详解编程语言
- Vim – 堪称上古神器的文本代码编辑器,开源,免费,跨平台!
- firefox和ie事件处理的细节,研究,再研究书写同时兼容ie和ff的事件处理代码
- php静态化实现代码
- Asp编码互转的研究和实现代码
- javascript中利用数组实现的循环队列代码
- JavaScript验证码的实例代码(附效果图)
- 从数组中随机取x条不重复数据的JS代码
- 朋友网关于QQ相关的PHP代码(研究QQ的绝佳资料)