擅长:python、mysql、java
<p>坏习惯/臭味有以下几种:</p>
<ul>
<li>可能不必要的类型检查(<a href="https://stackoverflow.com/questions/3749796/type-safety-in-python/3749823#3749823">see also here</a>)。只需使用作为用户/团队获得的对象,并在异常中断时引发异常(或者在大多数情况下,引发异常时不需要额外的代码)。把这个放在一边,循环导入就消失了(至少现在是这样)。只要得到的对象表现得像用户/团队一样,它们就可以是任何东西。(<a href="http://en.wikipedia.org/wiki/Duck_typing" rel="nofollow noreferrer">Duck Typing</a>)</li>
<li>小写类(这或多或少是一个口味问题,但一般接受的标准(<a href="http://www.python.org/dev/peps/pep-0008/" rel="nofollow noreferrer">PEP 8</a>)的处理方式有所不同</li>
<li>不需要的setter:你可以说:<code>my_team.leader=user_b</code>和<code>user_b.team=my_team</code></li>
<li>数据一致性问题:如果<code>(my_team.leader.team!=my_team)</code>?</li>
</ul>