产生mahotas的原因¶
《Mahotas原则》¶
以下是Mahotas的原则,按重要性降序排列:
能用即可
文档良构
快速代码
简单代码
最小依赖关系
能用即可¶
第一个原则是,事情应该 能够运行 。这意味着两件事:(1)不应该有错误,(2)接口应该灵活或故障良好。
为了避免错误,测试被广泛使用。每个报告的错误都会导致一个新的测试用例,因此它永远不会再次发生。新功能至少应该有冒烟测试(运行功能并验证输出的一些基本属性的测试)。
接口被设计成尽可能灵活。除非确实需要或在性能增强功能中(例如使用 out
参数)。
用户应该永远不会使用mahotas使Python解释器崩溃。
文档良构¶
没有一个公共函数没有完整的文档字符串。除此之外, hard documentation (即,包含界面每个角落和缝隙的完整技术细节的信息),还有 soft documentation (带有示例和更高级推理的类似教程的文档)。
快速代码¶
性能是一项功能。
代码应该在不牺牲通用性的情况下尽可能快(请参见 just work (见上文)。这就是C++模板用于类型无关代码的原因。
简单代码¶
代码应该简单。
最小依赖关系¶
Mahotas试图避免依赖。
目前,构建mahotas依赖于C++编译器Numpy。这些都不太可能永远改变。要运行mahotas,我们需要 numpy。为了读取图像,我们需要(1)imread或(2)Free Image中的一个。
Imread/freImage依赖项是一种软依赖项:除imread以外的所有内容都可以在没有它的情况下工作。编写代码是为了确保 import
-不带IO后端的mahotas不会触发错误,除非 imread()
函数被使用。
因此,一旦编译了mahotas,您真正需要的就是 numpy 。这一点不太可能改变。