1
colinxt 2011-09-23 23:21:44 +08:00 1
where to see the code?
|
2
lanisle 2011-09-23 23:37:52 +08:00
@colinxt About -> http://www.v2ex.com/cn/index.html -> github
|
3
lostab 2011-09-25 23:19:22 +08:00
@colinxt 不是 https://github.com/livid/v2ex 这里吗?
|
4
Mr_Vangogh OP 这个帖子怎么就沉了。。。最近在看重构这本书,所以才有感而发的。。。
|
5
keakon 2011-09-26 11:48:09 +08:00
|
6
gonbo 2011-09-26 12:00:06 +08:00
哎呦,听到风就是雨的朋友哟,为什么一个函数不能超过200行?
大家都要向linus学习,人家提意见,都是带patch。 不是建设性的意见,听起来就想杀人。 |
7
Mr_Vangogh OP @gonbo 你从哪句话听出来我是在提意见的?讨论讨论你就想杀人了,未免太过脆弱。我有说一个函数不能超过200行么?那你说说函数长了对可读性有没有影响?
|
8
Mr_Vangogh OP @keakon 感谢你的推荐!
|
9
damngood 2011-09-26 12:28:36 +08:00
@keakon 谢了。 :) 刚看完python tutorial, 正好在找python源代码来读.
一般来说提倡短方法块的目的是提高代码的可重用性以及功能单一性。如果实在是没啥可以抽出来200就200吧 :) |
10
chloerei 2011-09-26 12:34:30 +08:00
@Mr_Vangogh 又被顶上来了,我做个丑人好了。v2ex的代码之前已经讨论过好几次了,所以已经不太讨论了。
http://www.v2ex.com/t/6892 总的来说站主知道代码需要改进,也在重构中,不过似乎进度比较慢。 |
11
citydog 2011-09-26 12:48:22 +08:00
@Mr_Vangogh 别生气嘛,gonbo他那种人,“活到三十还没断奶”,小孩子脾气,旁人的一点意见都不能发,别跟他一般见识,网络上这种人多了~~
|
12
Mr_Vangogh OP @chloerei 原来是这样。。。我才来没多久,所以才发这帖子的,难怪Livid不回这帖子。。。@Livid 我这个可不算指责哈,更不算是“无端指责”,就是作为一个新手的讨论与学习而已:)
|
13
gonbo 2011-09-26 16:51:36 +08:00
@Mr_Vangogh 现代的编辑器都有代码折叠功能。vim emacs 都有这些功能,代码太长你折叠起来看就是。一个函数应该多长,功能要求多长,就多长,linux kernel里面照样有超过1000行的函数。函数内规定代码行数,就和goto语句不能用一样,是一个伪规则。函数应该是以代码复用为主要原则去划分,函数内的代码都无法复用,而且功能的确很单一,当然是一个函数到底,该多长就就多长。
|
14
subpo 2011-09-26 17:25:53 +08:00
.................
|
15
Mr_Vangogh OP @gonbo 把大函数中完成某一小功能的代码段抽出来组成一个函数,取上一个有意义的名字,是能够提高可读性的吧?恐怕不是折叠功能所能代替的。代码复用只是函数划分的一个标准,我觉得可读性同样重要。况且没遇到之前你也不知道函数能不能被复用。PS:我并没有说要规定函数的长度。
|
16
Mr_Vangogh OP @citydog 虽然我有不短的网龄,但是v2ex是我混的第一个论坛,见少识短,比较土鳖:)不过我没有生气啦。这里的氛围已经很好啦,喜欢!
|
17
Los 2011-09-26 19:17:00 +08:00
@gonbo 看了你的回帖实在觉得郁闷,我也来做丑人。PB2的代码臃肿和比较乱是事实存在的问题,大量无用并且逻辑重复的代码(前段时间为了因为某个原因我还去读了一下PB2的代码,此感比较强),以代码质量进行讨论实在没必要找它借口。我之前发过一篇帖子「重构PB Minisite,200行代码打造自己的minisite」,将PB2中超过800行的minisite功能模块以200行代码完成[ref] http://www.v2ex.com/t/3772
PS:python我并不熟悉,重构minisite的功能模块只是边参考边写(好吧,我承认我连一天python都没有学过,就直接写这重构了),所以我重构后的代码质量也并不怎么样,所以针对我的代码质量问题请口下留情。 |
18
hooopo 2011-09-26 20:13:57 +08:00
@gonbo 就事论事有这么难么,这是web项目,不是linux kernel,以后谁说我代码长我就告诉他我的编辑器有折叠功能:-)
|
23
lostab 2011-09-26 21:34:56 +08:00
本来一次较客观的讨论怎么会夹杂……
|
24
Livid MOD 代码质量及设计模式上存在的问题,是 PB2 项目的 known issue。此外这个项目进展到目前,还有其他的 known issues,我会在 GitHub Wiki 上整理出一个 known issues 的列表。
谢谢大家。 |
25
Livid MOD |