1
LINAICAI 2014-12-18 11:29:13 +08:00 4
我不反对缩进,但是不这么做就无法编译这点好让人不爽啊
|
2
ToughGuy OP |
3
mengzhuo 2014-12-18 11:34:48 +08:00 2
月经啊
其实放一行也有啊 lambada x: x+1 语言不是问题,只有初级程序员才会在这上面纠结 |
4
bohan 2014-12-18 11:36:10 +08:00 1
烧死那个异教徒
|
5
Monad 2014-12-18 11:38:54 +08:00 via iPhone
我觉得如果能够强制空格缩进或者tab缩进就好了
|
8
karma 2014-12-18 11:40:51 +08:00
再不能写单行代码.
|
10
ffffwh 2014-12-18 11:42:17 +08:00
Python的问题不是强制要求缩进,而是只靠缩进。
|
11
pathletboy 2014-12-18 11:42:20 +08:00
说的好像带了花括号就没缩进了一样,有花括号,现在代码格式化工具这么多,即使人家没缩进,你也可以轻松缩进,反观python,网上复制下来的代码十有八九因为缩进是跑不起来的,而且也没办法进行格式化,因为缩进和逻辑有关。
|
13
tini8 2014-12-18 11:46:13 +08:00
那些说从网上复制的python代码不能运行的是从百度复制的吧,百度上搜出来的那些垃圾站才不管你格式乱不乱,他们能赚联盟广告费就行。
|
14
seeker 2014-12-18 11:47:59 +08:00
讨厌python缩进。很多语言都有不喜欢的地方,个人喜好没什么好辩论的。不过不影响我选择某个语言在适合的使用场景上。
|
15
ToughGuy OP |
16
datou552211 2014-12-18 11:50:11 +08:00
青菜萝卜各有所爱吧,但是花括号在当今依然是主流
|
17
LINAICAI 2014-12-18 11:50:18 +08:00
我最喜欢python的是结尾不再需要;了
这个太爱了。。。 其他的都还好 主要是缩进导致copy代码不方便。。。 |
19
yetone 2014-12-18 11:57:23 +08:00 8
我最喜欢 Python 的一点就是它强制缩进。我也很喜欢去以 Python 为主力语言的公司工作,自动帮我避免了和那些写代码乱七八糟不缩进的奇葩共事,工作也会愉悦很多。
很难想象一个人的心理是有多么地扭曲,能对美好做出如此强烈的排斥。 Python, Haskell 这种强制缩进的语言,是专门为了扇那些写肮脏丑陋代码的人的耳光的。 |
20
pyKun 2014-12-18 12:02:12 +08:00
现在喷缩进都有点人云亦云了,早期 python 被喷缩进问题是因为两个空格和 tab 是可以混用的,这样读代码的感觉就是你看了半天突然发现从 if 语句下面的一个岔开的地方你彻底看错了,然后代码又要重看一遍。。。
以前二次开发过早期的 anaconda,看到好几年前的 python 风格,已经深受其害。。。不过随着现代规范的普及,那些代码已经消失在人们眼前了。。。。 |
21
fengchang 2014-12-18 12:02:57 +08:00
|
22
WildCat 2014-12-18 12:05:58 +08:00 via iPhone
"Bad programmers worry about the code. Good programmers worry about data structures and their relationships."
-- Torvalds |
23
pathletboy 2014-12-18 12:08:09 +08:00
@LINAICAI 我郑重的向你推荐golang,不需要分号,官方自带代码格式化go fmt,开发工具liteide,保存时候自动会对代码格式化,出来大家都是一致的缩进。
|
24
Anybfans 2014-12-18 12:10:16 +08:00
求问个问题.初用sublime test2 可是不管怎么设置主题,siderbar颜色都是灰白色 不变,卸载重新安装也不行。在网上找教程
Windows 改动 主题文件: /Pristine Packages/Theme - Default.sublime-package/Default.sublime-theme 背景色 { "class": "sidebar_tree", "row_padding": [8, 3], "indent": 12, "indent_offset": 17, "indent_top_level": false, "layer0.tint": [30, 30, 30], "layer0.opacity": 1.0, "dark_content": false }, 修改后 打不开st2了。。 |
25
tini8 2014-12-18 12:10:19 +08:00
@fengchang
有缩进的代码不一定是好代码,但编码的时候都控制不好缩进的代码一定是烂代码,不注重缩进的程序员一定是烂程序员。 |
26
dant 2014-12-18 12:10:22 +08:00 via iPhone 1
我从网上复制了一千多行的 Python 代码,但是缩进全没了,您帮我解决一下?
|
27
lincanbin 2014-12-18 12:15:02 +08:00 2
只会Python的程序员喜欢搞得跟其他程序员从来不缩进一样。
我讨厌这一点。 |
29
Hubert 2014-12-18 12:21:15 +08:00
说实话,楼主发这样的帖子才感觉像喷子。
|
30
dant 2014-12-18 12:27:36 +08:00 via iPhone
|
32
pockry 2014-12-18 12:33:18 +08:00
本来一个编码风格的事搞成代码规定,强迫所有人跟自己一样,这思路别人一般称为“control freak”。
当然,团队协作是要遵循同一个编码风格,但不是一个团队的也要管,你也管的太宽了。 |
33
yetone 2014-12-18 12:33:30 +08:00
@lincanbin 这个世界上很少有只会 Python 的程序员,往往大多数是用过其它语言后回过头来觉得 Python 骑在它们身上都不会觉得不好意思的程序员。
|
34
icylogic 2014-12-18 12:37:42 +08:00 via Android
只要不是))))) 或者}}}}}}我都能接受
|
35
dddd 2014-12-18 12:40:18 +08:00
我就不信有人从未讨厌过。
除非真被洗脑了 |
36
dkw72n 2014-12-18 12:45:33 +08:00 via iPhone
@icylogic 哈哈哈 我写的python, map reduce filter 相互套, 最后出来就是这副屎样。。。
|
37
yetone 2014-12-18 12:48:26 +08:00
@fengchang
你怎么通过我的话判断出脏代码和好代码只差一个 prettify 的距离?脏代码和好代码之间相差的东西有很多很多,但 prettify 是其中无比致命的差距。 在这个星球上不短不长的计算机科学历史里,在编程语言的荒蛮时期,多少科学先驱致力于把编程语言设计地易懂易用,随抛弃了机器码、汇编语言,开发出了一个个美观且令人愉悦的高级编程语言,不管他们设计一门语言的初衷是什么,但把语言设计地更美观、更服务和愉悦人类自始至终都是他们设计语言的最基本的目标,但时至今日,还有那么多自傲的程序员对一门以整洁美观为哲学的语言进行如此可笑的抨击,真是令人唏嘘。 |
38
Mutoo 2014-12-18 12:48:54 +08:00
回想起大一帮同学改代码第一件事就是 帮他们调缩进 -__-b。
|
39
tabris17 2014-12-18 12:50:48 +08:00
支持缩进的人能不能提供一个解决Python代码空格丢失的解决方案?别净扯些没用的
|
40
wizardoz 2014-12-18 12:51:40 +08:00
python 需要配合一个支持矩形编辑功能的编辑器,否则把一块代码copy到另一个域如果缩进不一样会很麻烦。
如果有矩形编辑的功能,还可以统一在前面插入4个空格or8个空格等等。 |
41
wizardoz 2014-12-18 12:53:01 +08:00
那些说空格丢失的。空格是代码的一部分怎么能丢失呢?如果C语言的花括号丢失了,你倒是解决给我看啊。
|
42
tftk 2014-12-18 12:53:07 +08:00
我不讨厌缩进,有时候也喜欢花括号。
|
43
cctvsmg 2014-12-18 12:55:15 +08:00 1
python是伪装成编程语言的宗教
|
45
pathletboy 2014-12-18 12:57:21 +08:00
@wizardoz 你自己#40说的不就丢失了,不丢失你插什么。。。
|
48
useyes 2014-12-18 13:03:45 +08:00
果断转到 Ruby。
|
50
Cu635 2014-12-18 13:14:15 +08:00
很显然,缩进的字符(空格、tab)属于空白字符,在各种处理的时候很容易丢掉。
python用tab缩进,tab也是空白字符,可能会被当作空白字符丢掉。 而python用tab作为分块的依据,tab是代码的一部分,丢掉了之后信息丢失了,恢复很不容易。 而像C/C++/Java这类用花括号做分块的,花括号不是空白字符,几乎不会被丢掉,而缩进丢掉了只是难看问题,完全可以用脚本通过括号重新建立缩进,改善阅读性。 |
51
bugeye 2014-12-18 13:16:24 +08:00
对我来说很简单,10多年前有人给我推荐python,我看了一眼,居然是空格嵌套。直接pass。到现在依然。反正我不相信这世界上靠{}的语言会绝种。有得用就可以了。我不相信C/java/C++/JS/golang/perl会完成不了python能做的事。
不介意的就用python,介意的就不用,非常简单。我就是讨厌空格嵌套,你咬我? |
52
RemRain 2014-12-18 13:16:33 +08:00
|
53
ChiangDi 2014-12-18 13:20:05 +08:00 via Android
啊,看到这种圣战帖就热血沸腾了!!
|
54
sneezry 2014-12-18 13:21:21 +08:00
空格和tab有时眼睛看不出区别,一个tab和4个空格一般一样长,但是表示两个不同的层级
|
55
bugeye 2014-12-18 13:21:27 +08:00
@Cu635 不止是{}不容易丢,就算丢也就1个2个,还比较容易修正。tab,空格之类本来就是html无视的字符,一丢起来就全盘没了。神才愿意去还原这种。
|
56
jarlyyn 2014-12-18 13:22:54 +08:00
|
57
jarlyyn 2014-12-18 13:26:26 +08:00
@bugeye 代码为啥会上html?这本来就是神思路吧?用花括号包括元素的模板/替换语法还少么?那是不是花括号也有问题?讨论代码说html绝对属于蛋疼……代码至少还有个<code>标签吧?
|
58
jarlyyn 2014-12-18 13:29:41 +08:00
在这边说着花括号好的,这的没有在编辑器里利用括号配对一个一个对过括号么?特别是在一个代码copy到另一个代码段里面去的时候?比如node-js那一长串function?
|
59
kidlj 2014-12-18 13:31:00 +08:00
Python的哲学是这样的:
既然只用缩进和冒号就能搞定代码分块的逻辑,为什么还再加上一层括号? 这就是大道至简。 喜欢简洁的人肯定都能看到Python的这种方式是最精简的。 举个简明的例子,一个数可能会有多个约数,但python提供的是那个最小公约数。 |
60
bugeye 2014-12-18 13:32:51 +08:00
@jarlyyn 那我只能祝你永远别遇到处理这些问题的机会了。处理实际问题,有时候短信也是可以贴代码的。不见得在工作的时候都有办法上网,都有办法有一个可以处理code之类的浏览器,也不见得你的队友不是白痴。
|
61
RemRain 2014-12-18 13:34:19 +08:00
@jarlyyn 您要是用过 WhiteSpace 语言,一定会爱上他的~ 你看 LZ 发的代码,用于缩进的空格呢?
附上 WhiteSpace 语言链接: http://compsoc.dur.ac.uk/whitespace/index.php |
63
jarlyyn 2014-12-18 13:38:59 +08:00
@bugeye 短信贴代码?能用手机直接用手机收发邮件不行么?为什么代码要在浏览器里看,能不能让我解除一下这个疑惑?服务器上或者本地的代码有什么很快捷的方式通过html来查看?
|
64
jarlyyn 2014-12-18 13:40:30 +08:00
@bugeye 再或者说,34楼的情况你遇见过么?类似node-js/js里function套function之后的)}]的问题你没碰到过?
|
65
sectic 2014-12-18 13:44:05 +08:00 via Smartisan T1
python是空格和tab混用的...
|
66
anjianshi 2014-12-18 13:44:32 +08:00
看了这整整六十多楼的讨论,我只想说,PHP 是世界上最好的语言!
|
67
vietor 2014-12-18 13:46:38 +08:00
Python最大的问题是:既然支持的缩进,却同时允许中间夹杂空行——这种在语法合法,但对自动格式化与阅读来说——太痛苦了。
|
68
Pixeller 2014-12-18 13:47:15 +08:00
屌丝才会纠结这些可有可无的问题, 但作为一个屌丝我回复了.
如今在这些强大编辑器/ide下能写出 杂乱无章的代码也是需要技术的, 既然习以为常的事还能当个事来说, 我也不得不佩服lz水的能力, 有本事用手写把一个项目的代码全无缩进试试. |
69
RemRain 2014-12-18 13:48:35 +08:00
@jarlyyn 震惊了,原来代码不能在 v2ex 上看,也不能在短信上看,只能在服务器上用 cat 看。其实我在服务器上就是用 cat 看缩进不太完美的 py 代码的,只不过这些 py 代码的缩进确实不太完美,统一用了 255 个空格作为缩进
|
70
ToughGuy OP @invite find . -name '*.py" -type -exec sed -i 's/\t/ /g' {} \;
|
71
jarlyyn 2014-12-18 13:53:25 +08:00
@RemRain 呵呵,你的代码是在v2ex上跑还是在短信里跑?我才震惊呢。255个空格还能看,我很期待有255个}结尾的代码你怎么看?
|
72
invite 2014-12-18 13:53:43 +08:00
@ToughGuy 这个命令是什么意思?把\t替换成空格还是?那万一甲是两个空格当作一个tab来用,而乙是四个空格当作一个tab来用。求解。
|
74
gdgoldlion 2014-12-18 13:59:46 +08:00
在体验上,与其每次写带括号的语言,写完都用格式化命令格式一次。真不如每次都老实tab,然后写完就写下一行,来的简洁实用。
而且括号多了真的很难看啊,可以看看JavaScript和Coffee的区别就清楚了。 另外,C/C++语言中很多if判断后把处理语句写在同行,这样调试很蛋疼的呢。 |
75
TangMonk 2014-12-18 14:01:44 +08:00
ruby岂不是更好?
|
78
jarlyyn 2014-12-18 14:05:40 +08:00
@gdgoldlion 反正我觉得认为花括号好的,估计没怎么被js那一串}}})}})恶心过。
|
79
nigelvon 2014-12-18 14:31:36 +08:00
PHP是最好的语言
|
80
fengchang 2014-12-18 14:44:03 +08:00
@yetone 你看,我觉得prettify是每个人都能做到的事,不值得整天惦记,你却把它看得非常重要。语言的美有很多层次,不要总是关注视觉效果。
|
83
jarlyyn 2014-12-18 15:02:29 +08:00
@fengchang 或者说要是问与答会吃掉分号或者花括号的话,C语言就是最糟糕的语言?原来问与答这么牛啊……别忘记html中&也要特殊处理哦,那么&&也是很糟糕的设计是吧?
|
85
fengchang 2014-12-18 15:30:21 +08:00
@jarlyyn 代码不是用来出现在问与答上的,但是如果一种语言无法在网络论坛上交流(例如WhiteSpace语言),那对使用者来说非常不便,你可以看一下楼主的附言。
另外,如果一套BBS程序会吃掉非空白字符的话,那这套程序一定是垃圾程序。但是如果这套程序会吃掉空白字符,那没什么,几乎所有的BBS程序都会这么做。 |
86
jarlyyn 2014-12-18 15:42:56 +08:00
@fengchang 为什么一种语言无法在网络论坛上交流,会对使用者来说非常不便?
另外,为什么几乎所有的bbs都会这么做?难道我这么多年网白上了?搜索了下自己的帖子 http://forum.ubuntu.org.cn/viewtopic.php?f=21&t=342267 空格保持的很好啊?没缩进的代码有在网上和人交流的意义? 最后,在网上贴代码难道不该贴的是类似pastebin之类带代码高亮的第三方网站上? |
88
4everLoveU 2014-12-18 16:41:34 +08:00
python对缩进的要求很严格,一个文件里要么统一使用tab,要么统一使用space,混用就会报错的。
另外:不推荐为了简洁而使用lamada表达式,严重影响代码可读性 |
89
jarlyyn 2014-12-18 16:57:52 +08:00
@fengchang 说句不客气的话,难道您一直觉得您不是?
程序要么email/maillist,要么文档,要么git/hg/svn,我写代码这么多年还真不知道在论坛讨论代码的价值在哪? 还是一个连<code>标签都不支持的论坛? |
91
fengchang 2014-12-18 17:19:56 +08:00
|
92
lincanbin 2014-12-18 17:34:37 +08:00
@fengchang 实际上还有知乎,知乎的评论区,如果贴Python,缩进都会消失。
原因是安全的白名单转换,只有回车符、超链接会被保留并替换成对应HTML标签,其他都会消失。 这种安全机制其实非常常见。 |
93
woaixq 2014-12-18 20:41:21 +08:00
代码洁癖症路过
|
94
jamiesun 2014-12-18 20:58:22 +08:00
无所谓,java,c,python,js乱入的,到哪个山头唱哪首歌。
你们这些强迫症者好辛苦,同情中。 |
95
akira 2014-12-18 21:09:15 +08:00
如果在各种环境下,包括但不限于各种论坛网站都能保持py的代码缩进不变的话,我想我应该不会讨厌这个缩进的。
|
96
kxxoling 2014-12-18 21:26:57 +08:00 via iPad
作为一个Pythoner,很喜欢缩紧规则,但是讨厌if和for后面的冒号。
|
97
fooevr 2014-12-18 22:11:42 +08:00
我觉得倒是你再无脑喷吧
|
98
laotaitai 2014-12-18 22:12:54 +08:00
@tini8
说的太实在了, 这些家伙说缩进不好, 就是因为总是在垃圾站复制代码, 我经常玩复制粘贴呢. 这些人是不是玩过Python. |