revise python-philosophy

This commit is contained in:
Jerry Lee
2014-09-02 20:03:39 +08:00
parent 61ebcd0ad2
commit b05c7fbaa7

View File

@@ -19,46 +19,51 @@ Python PhilosophyPython哲学
6. Sparse is better than dense ***[3]*** .
稀疏优于稠密。
7. Readability counts.
可读性有重要意义的。
可读性有重要价值的。
8. Special cases aren't special enough to break the rules.
特例可以,但不能特例到打破规则。
特例可以,但不能特例到打破规则。
* Although practicality beats purity.
尽管我们在纯粹性和实用性之间倾向实用性
尽管在纯粹性和实用性之间倾向实用性。
9. Errors should never pass silently.
出错决不允许静静地Pass。
* Unless explicitly silenced.
除非明确说明了是静静地Pass。
除非明确说明了是静静地Pass。
10. In the face of ambiguity, refuse the temptation to guess.
面对二义性情况时,要拒绝任何猜的诱惑。
11. There should be one -- and preferably only one -- obvious way to do it.
显而易见的做法应该是一个,并且宁愿只有一个。
显而易见的做法应该是一个,并且宁愿只有一个,即是那个显而易见的做法
* Although that way may not be obvious at first unless you're Dutch ***[4]***.
尽管这个做法可能刚开始的时候不是那么显而易见的,毕竟你不是荷兰人`Python`之父。
尽管这个做法刚开始的时候可能不是那么显而易见的,毕竟你不是荷兰人`Python`之父。
12. Now is better than never.
“现在” 优于 “决不”。
* Although never is often better than **right** now.
尽管 “决不” 常常优于 “**马上**”。
13. If the implementation is hard to explain, it's a bad idea.
如果一个实现难解释清楚,说明实现的idea有问题
如果一个实现难解释清楚,说明实现是个差的想法
14. If the implementation is easy to explain, it may be a good idea.
如果一个实现很容易解释清楚,那可能是个好的实现idea
如果一个实现很容易解释清楚,那可能是个好的想法
15. NameSpaces are one honking great idea -- let's do more of those!
Namespace真真儿是个好想法 — 放手多多使用吧!
命名空间是个值得称道的极好想法 — 放手多多使用吧!
### 译注
***[1] [2]*** 单词complex的意思是 复杂而complicated 是 结构复杂。
在计算机单个模块复杂理解为complex而多个模块互相关联的复杂理解为complicated。用计算机的术语complicated是模块之间“耦合”很多说明理解不深设计不好
在计算机领域中complex 可以对应 单个模块复杂而complicated 则可以对应 多个模块互相关联的复杂
用计算机的术语来说complicated 是不同模块之间紧“耦合”,体现了理解不深,设计不好。
软件的核心复杂度不可避免,但要这些集中一起,给使用一个干净高级的接口,也就是说:如果**complex**(核心复杂度)不可避免可以接受,但**complicated**一定要想办法去除,随着系统深入理解,模块职责的划分会更简明干净。
软件的核心复杂度不可避免,但要这些集中一起,给使用一个干净高级的接口,
也就是说:如果**complex**(核心复杂度)不可避免可以接受,
但**complicated**一定要想办法去除,随着系统深入理解,模块职责的划分会更简明干净。
PS 核心复杂度的说明讨论可以参见[《代码大全》](http://book.douban.com/subject/1477390/)一书。
翻译上complex 翻成 复杂complicated 翻成 纠结。
***[3]*** 稀疏、稠密指的是代码行中操作的疏密。`C`的Geek喜欢写稠密的代码比如使用`++``--`运算符来压缩代码行。在Python看来这个做法不可取即会让代码更可能出错如自增操作的负作用也降低了代码的可读性。
***[3]*** 稀疏、稠密指的是代码行中操作的疏密。
`C`的Geek喜欢写稠密的代码比如使用`++``--`运算符来压缩代码行。
`Python`看来,这个做法不可取,即会让代码更可能出错(如自增操作的负作用),也降低了代码的可读性。
***[4]*** 这里的荷兰人指`Python`之父Guido参见说明[武汉大学开源技术俱乐部 技术交流 第1期](http://qianjigui.javaeye.com/blog/266365 "http://qianjigui.javaeye.com/blog/266365")
***[4]*** 这里的荷兰人指`Python`之父Guido参见说明[武汉大学开源技术俱乐部 技术交流 第1期](http://qianjigui.javaeye.com/blog/266365)
个人讨论
----------------------
@@ -79,7 +84,7 @@ PS 核心复杂度的说明讨论可以参见[《代码大全》](http://book
1. Python Philosophy原文 [http://www.c2.com/cgi/wiki?PythonPhilosophy](http://www.c2.com/cgi/wiki?PythonPhilosophy)
1. [Python(programming language) - Wikipedia](http://en.wikipedia.org/wiki/Python_%28programming_language%29#Programming_philosophy)
1. [No programming language offers what Python does philosophically.](http://www.indicthreads.com/1062/no-programming-language-offers-what-python-does-philosophically/)
没有一门编程语言做到了Python在编程哲学上所做的
在编程哲学上Python超越了其它编程语言
1. [武汉大学开源技术俱乐部 技术交流 第1期](http://qianjigui.javaeye.com/blog/266365)。
这里还有其它有关Python有意思的东西。
1. 核心复杂度的说明参见[《代码大全》](http://book.douban.com/subject/1477390/)一书。