强制缩进对于程序员来说是好事还是坏事?

2013-09-25 11:16:55 +08:00
 jianghu52
刚看了一个帖子,有人问一个没有了缩进的python文件,怎么能还原代码逻辑。我想了半天,真觉得没办法。
有人说强制缩进是为了统一代码风格。就我个人来说,我觉得这个倒不是最主要的原因。我认为的强制缩进的最主要的好处是,让人不敢写那么长的函数了。
因为一旦长了之后,虽然有缩进,你要不停的上下翻页来确定这行代码到底归属于哪一层逻辑。虽然现在不少编辑器提供了缩进线,但是有时候嵌套多了,还是会比较累。另外,这样就潜意识的让你多分解逻辑,做成松耦合的函数。
强制缩进我觉得最不舒服的地方在于,对于协作团队来说,尤其是有各种编辑器的团队来说,简直就是灾难。我的团队里面我偏爱st,有人喜欢用editplus,还有人用emeditor,美工用notepad++,当然还有人用eclipse。虽然大家都把tab 设置成了4个空格,但是经常有因为输入法的问题,导致默认的4个空格不正常的问题。
5643 次点击
所在节点    程序员
34 条回复
yuelang85
2013-09-25 14:15:00 +08:00
@raincious 这都是配置出来的
tntC4stl3
2013-09-25 14:42:29 +08:00
@Mutoo 我觉得这个跟书印刷排版也有关系,尤其是《Python 核心编程》分页处的代码,基本都要自己考虑下。
min
2013-09-25 15:53:49 +08:00
简单地把事物归到好或者坏上面去毫无意义

这只是很多选择中的一种而已
levn
2013-09-25 16:33:16 +08:00
不是copy/paste不方便吗?
Golevka
2013-09-25 20:11:47 +08:00
连词法都没有形式化定义的语言也只能呵呵了. 顺便我们吐槽依赖缩进的语法, 并不表示我们平时写代码时不缩进.
SoloCompany
2013-09-25 20:39:15 +08:00
给代码签入加一个规则,不允许使用字符 0x9,tab不一致的问题就解决了
至于每个代码签入者怎么解决编辑器的问题,作为码农连这个都解决不了的话可以直接辞职了
sumanx
2013-09-25 20:42:49 +08:00
和这个一起看,效果不错:http://www.v2ex.com/t/83482
NemoAlex
2013-09-25 21:16:18 +08:00
这个帖子也太搞笑了
各种亮点
BOYPT
2013-09-25 23:02:11 +08:00
"大部分时间用在调整缩进上"

哈哈哈哈哈哈
xingzhi
2013-09-26 00:59:28 +08:00
可能专注于某种语言,就自然会去习惯或者遵守这个语言的相关规范了。

我主业写 python,因此我会以 PEP8 的规范要求自己。。。

缩进本身不能简单以好坏来分,但写出可读性高的代码,遵守语言的编码规范,这难道不是一种职业素养?
vivianalive
2013-09-26 01:30:30 +08:00
代码可读性实际上就是代码可维护性... 缩进又简单又好用.有什么好抱怨的啊.
jamiesun
2013-09-26 08:08:58 +08:00
快速网站开发,怎么快法,php,asp,jsp直接写,这样是快,不过是快而脏,如果用上php+框架,那就没有比python有多优势了。用过bottle,flask就知道python可以更快速开发了。

用了这么多年,没觉得缩进是问题,反而括号的,每次正儿八经写代码之前都去调整下style。
jianghu52
2013-09-26 08:37:09 +08:00
关于输入法缩进问题,我又有欲望新开一个帖子了。不过先在这里跟大家解释一下。我的机器上所有的默认输入法都是英文的。如果需要输入中文,都是用快捷键切出来的。但是我的不少同事竟然默认的都是中文输入法。我实在不能理解一帮专业的程序猿默认输入法竟然是中文的。所以你明白的,当你打开某个文件,然后写准备在其中插入代码的时候,一个回车下去,表面上缩进是变的跟上面一样了,但是实际上由于语言的不同,缩进在不同的编辑器里面显示的样子是不一样的。因此造成了缩进不统一。
xiaket
2013-09-26 08:46:07 +08:00
@raincious read pep8 twice, and then again

话说这种话题丢进月经贴里吧, 看得烦了.

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/83603

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX