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

2013-09-25 11:16:55 +08:00
 jianghu52
刚看了一个帖子,有人问一个没有了缩进的python文件,怎么能还原代码逻辑。我想了半天,真觉得没办法。
有人说强制缩进是为了统一代码风格。就我个人来说,我觉得这个倒不是最主要的原因。我认为的强制缩进的最主要的好处是,让人不敢写那么长的函数了。
因为一旦长了之后,虽然有缩进,你要不停的上下翻页来确定这行代码到底归属于哪一层逻辑。虽然现在不少编辑器提供了缩进线,但是有时候嵌套多了,还是会比较累。另外,这样就潜意识的让你多分解逻辑,做成松耦合的函数。
强制缩进我觉得最不舒服的地方在于,对于协作团队来说,尤其是有各种编辑器的团队来说,简直就是灾难。我的团队里面我偏爱st,有人喜欢用editplus,还有人用emeditor,美工用notepad++,当然还有人用eclipse。虽然大家都把tab 设置成了4个空格,但是经常有因为输入法的问题,导致默认的4个空格不正常的问题。
5474 次点击
所在节点    程序员
34 条回复
y0
2013-09-25 11:21:27 +08:00
因为输入法的问题…… 你说的是全角空格之类的吗?
davepkxxx
2013-09-25 11:23:20 +08:00
不喜欢,但是无所谓,因为我不会用python写大的项目,也不会尝试和其他人一起写。
jybox
2013-09-25 11:25:14 +08:00
和花括号缩进没多大区别,Python 文件 没了缩进就好像 C 文件没了花括号。
全角空格什么的,IDE 或编辑器是会有提示的吧。
DaniloSam
2013-09-25 12:08:42 +08:00
关输入法什么事?

程序员还用中文字符??????????
zhujinliang
2013-09-25 12:11:06 +08:00
个人很反感依赖缩进,代码逻辑这么重要的事用一个透明的东西来掌控,太没安全感了。

对于python代码丢失缩进一事,我想说的是:报应
chloerei
2013-09-25 12:18:04 +08:00
我既用 Ruby 又用 CoffeeScript,强制缩进不是很大的问题。如果团队成员不能都做到对自己代码质量高要求,那么就成问题了。
yakczh
2013-09-25 12:28:43 +08:00
所以象网站这种需要短平快,快速成型,快速更新的东西不适合用python来搞,不然大部分时间用在调整缩进上,python适合搞一些跑在后台,要求精益求精的这种东西
funagi
2013-09-25 12:33:47 +08:00
> 有人问一个没有了缩进的python文件,怎么能还原代码逻辑。
这已经不算是一个有效Python代码文件了,因为原本正确的代码内容已经被破坏了,你要明白,缩进是Python语言的一部分,而不只是一种代码风格。

> 有人说强制缩进是为了统一代码风格。
同上

> 但是经常有因为输入法的问题,导致默认的4个空格不正常的问题。
我本来以为你是指你输入了非期望的数据,既然是非期望的数据那就不能归罪空格。
但后来想想,是不是指编辑器没有使用等宽字体?
至于st,我记得处理宽字符显示会出问题。

P.S.回过头重新看一遍,难道楼主只有第一句话是指Python,下面说的那些还包括其它语言?
9hills
2013-09-25 12:40:41 +08:00
>有人问一个没有了缩进的python文件,怎么能还原代码逻辑

这就好比c里面删除所有大括号还让还原代码逻辑一样
FrankFang128
2013-09-25 12:47:04 +08:00
缩进的空格是四个四个敲出来吗?太麻烦了。我都是Tab=4个空格用的。
raincious
2013-09-25 12:51:12 +08:00
@davepkxxx 替可怜的空格键表示同意……
lisztli
2013-09-25 12:54:05 +08:00
@yakczh 同意,php是世界上最好的语言。
mengzhuo
2013-09-25 13:15:54 +08:00
@lisztli 本来不支持OOP的,5以后才支持,引入函数根本就不明确,PHP怎么可能称得上最好
yakczh
2013-09-25 13:19:57 +08:00
@lisztli 严重不同意 这种说法跟天朝是世界上最好的国家一样用来yy的,我的原话是快速开发的网站不适合python来,python适合后台精益求精的一些东西,如果yum,emerge这类工具 根本没提及php
yuelang85
2013-09-25 13:22:09 +08:00
@raincious 难道说,你的锁进是敲空格敲出来的????


楼主缺钱了,嗯。
raincious
2013-09-25 13:26:55 +08:00
@yuelang85 嗯。。。首先我很少写Python风格的代码嗯。。。其次,我用Tab的嗯。。

但是呢,据说推荐还是会用空格的。只是有些编辑器会自动将Tab转换成空格嗯。
lisztli
2013-09-25 13:42:31 +08:00
@mengzhuo
@yakczh

我主业是用python的。
Mutoo
2013-09-25 13:50:07 +08:00
妹子学python的时候,书上代码分页后那行的缩近老是打错
windylcx
2013-09-25 13:59:04 +08:00
好事,其实统一配置一下不会花多少时间,但统一风格明显来带巨大好处.
Keyes
2013-09-25 14:09:53 +08:00
@windylcx 非常赞同

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

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

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

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

© 2021 V2EX