技术解析

有哪些对 diff 友好的编码习惯
0
2021-06-02 13:12:36
idczone

陈硕有一篇 blog 讨论了这个问题( http://webcache.googleusercontent.com/search?q=cache:ZoIn7s7WoggJ:www.cppblog.com/Solstice/archive/2011/03/05/141164.html+&cd=1&hl=zh-CN&ct=clnk国外服务器 ),除此之外的资料就很难找到了,希望 v 友可以分享一下这方面的知识。


js 我能想到两个:
函数参数过长的话换行,object,array 同理
再把尾逗号能加的都加上

python 提交之前确保下 PEP8, 省着有人 format 之后一堆空格的修改

没有很大的必要去特地研究,尤其不同语言还不一样。
缺的是个 semantical diff

如无必要,不要改变两行旧代码的相对顺序。

引入格式化工具,保证提交到仓库的风格一致。

max page column < 100

sed 's/\t/ /g'

引入 check style,定义格式化,代码规范等,git push 之前强制检查

vim 用户 gg=G

git config --global diff.algorithm histogram

短时间内应该是见不到成熟的基于语义的 diff 了

强制使用 formatter 是目前的最好方案

go fmt

no code, no change, deploy nowhere

semantic diff 让我想起了王垠的结构化程序比较 ydiff ( https://henix.github.io/feeds/yinwang/2013-04-21-ydiff-结构化的程序比较.html )

那是 syntactic diff 或者 macro-syntactic diff 的样子
当然,semantic diff 对于可魔改且有副作用的语言非常不友好,甚至可能有时因为被管理的代码以外的因素导致等价性改变。
所以想了想就放弃了

数据地带为您的网站提供全球顶级IDC资源
在线咨询
专属客服