1
Livid MOD 谢谢。可否给出一个开源 GAE 项目的例子,在代码上符合您对美感和设计的要求的,我去学习学习。
|
2
darcy 2010-10-23 21:22:39 +08:00
可以参考这个代码风格建议 http://google-styleguide.googlecode.com/svn/trunk/pyguide.html#Indentation
具体项目源代码可以参考GAE的源代码 |
4
m 2010-10-23 21:33:43 +08:00
|
6
fanix 2010-10-23 21:52:02 +08:00
python是什么味道呢?
|
7
Los 2010-10-23 21:57:23 +08:00
^_^ 不熟悉GAE不熟悉Python,来一小段rails式的建议,估计比较适合现在PB的情况
“Move Model Logic into the Model” http://rails-bestpractices.com/posts/7-move-model-logic-into-the-model |
8
zhaiduo 2010-10-23 21:59:42 +08:00
jaiku可是google的败笔
|
10
darcy 2010-10-23 22:07:17 +08:00
我个人觉得每个get方法都有一个
template_values['system_version'] = SYSTEM_VERSION 类似的公共代码可以提取出一个父类出来。 如:http://code.google.com/p/google-app-engine-samples/source/browse/trunk/tasks/tasks.py 建立一个BaseRequestHandler类 另外,对于楼主来说,可能作为开源项目v2ex缺少必要的注释。风格上我倒不觉得有什么不美,反而很多地方@livid设计得很优雅。 |
11
Los 2010-10-23 22:16:59 +08:00
"控制层"充满了大量的if else之类的逻辑代码是一件让人比较头疼的事,或者可以移动这部分代码到合适的地方。
|
12
darasion 2010-10-23 23:15:58 +08:00
我也总觉得自己写的东西不太对劲儿,但总是不知道哪里出了毛病。
|
13
billychow 2010-10-23 23:17:00 +08:00
1. 代码的重用性做得不够,如模版的初始化等完全可以简单抽象一下,进行包装。
2. 逻辑混乱,缓存的设置四处散落。可以考虑使用 python decorator 进行分离。 3. 每一个操作都有一个 handler,一组同样的逻辑却相互独立,造成重复,建议实现一个简单的 url routing。 还有一些一时想不起来了,前段时间又大致看了一下,发现很多地方仍然没有改进,在功能不断膨胀后,维护性会变得越来越糟。不适合团队开发。 |
15
fsw90628 2010-10-24 00:21:37 +08:00
OO is a trade-off. Livid 的代码细节处理的已经不错了,组件拆分的很得当,过度的追求重用也未必是好的事情。
p.s. 读着Project Babel的代码个人觉得是很享受的事情,直觉上觉得清晰,美观。 |
16
9hills 2010-10-24 00:42:46 +08:00
注释有点少---貌似很少
除此之外就我的水平也看不出什么来。。 |
17
xuming 2010-10-24 21:47:27 +08:00
看了PB的代码,很多PHP的味道
|
18
Tianpu 2010-10-29 13:06:27 +08:00 via iPad
我看着不吃力,哈。好用就行
|