擅长:python、mysql、java
<p>这就是动态语言的工作原理。不过,这并不总是件好事,尤其是在文档不好的情况下——有人试图使用文档不好的python框架吗?有时你必须重新阅读源代码。</p>
<p>以下是一些避免duck输入问题的策略:</p>
<ul>
<li>为问题域创建语言</li>
<li>这有助于你正确命名</li>
<li>使用类型在域语言中表示概念</li>
<li>使用域语言词汇表的名称函数参数</li>
</ul>
<p>另外,最重要的一点是:</p>
<ul>
<li><strong>尽可能将数据保存在本地!</strong></li>
</ul>
<p>应该只传递一些定义良好且有文档记录的类型。通过查看代码,任何其他的事情都应该是显而易见的:不要有来自遥远地方的奇怪的参数类型,而这些类型是通过查看代码附近而无法确定的。。。</p>
<p>在python中,有一种技术叫做<code>doctests</code>。用它来记录你的方法是如何被期望使用的——同时有很好的单元测试覆盖率!</p>