---
author: Moshe Zadka
category: 软件开发
comments_data: []
count:
  commentnum: 0
  favtimes: 0
  likes: 0
  sharetimes: 0
  viewnum: 2432
date: '2021-02-14 12:05:26'
editorchoice: false
excerpt: 这是 Python 之禅特别系列的一部分，重点介绍第十七和十八条原则：困难和容易。
fromurl: https://opensource.com/article/19/12/zen-python-implementation
id: 13116
islctt: true
largepic: /images/p/202102/14/120518rjkwvjs76p9d1911.jpg
permalink: /article-13116-1.html
pic: /images/p/202102/14/120518rjkwvjs76p9d1911.jpg.thumb.jpg
related:
- displayorder: 0
  raid: 13103
- displayorder: 0
  raid: 13123
reviewer: wxy
selector: lujun9972
summary: 这是 Python 之禅特别系列的一部分，重点介绍第十七和十八条原则：困难和容易。
tags:
- Python
thumb: false
title: 如何判断你的 Python 代码实现是否合适？
titlepic: true
translator: wxy
updated: '2021-02-14 12:05:26'
---


> 
> 这是 Python 之禅特别系列的一部分，重点介绍第十七和十八条原则：困难和容易。
> 
> 
> 


![](/images/p/202102/14/120518rjkwvjs76p9d1911.jpg "Brick wall between two people, a developer and an operations manager")


一门语言并不是抽象存在的。每一个语言功能都必须用代码来实现。承诺一些功能是很容易的，但实现起来就会很麻烦。复杂的实现意味着更多潜在的 bug，甚至更糟糕的是，会带来日复一日的维护负担。


对于这个难题，[Python 之禅](https://www.python.org/dev/peps/pep-0020/) 中有答案。


### <ruby> 如果一个实现难以解释，那就是个坏思路 <rt>  If the implementation is hard to explain, it's a bad idea </rt></ruby>


编程语言最重要的是可预测性。有时我们用抽象的编程模型来解释某个结构的语义，而这些模型与实现并不完全对应。然而，最好的释义就是*解释该实现*。


如果该实现很难解释，那就意味着这条路行不通。


### <ruby> 如果一个实现易于解释，那它可能是一个好思路 <rt>  If the implementation is easy to explain, it may be a good idea </rt></ruby>


仅仅因为某事容易，并不意味着它值得。然而，一旦解释清楚，判断它是否是一个好思路就容易得多。


这也是为什么这个原则的后半部分故意含糊其辞的原因：没有什么可以肯定一定是好的，但总是可以讨论一下。




---


via: <https://opensource.com/article/19/12/zen-python-implementation>


作者：[Moshe Zadka](https://opensource.com/users/moshez) 选题：[lujun9972](https://github.com/lujun9972) 译者：[wxy](https://github.com/wxy) 校对：[wxy](https://github.com/wxy)


本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译，[Linux中国](https://linux.cn/) 荣誉推出