Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Testing 我如何促进和鼓励实施我的规范?_Testing_Specifications_Reference Implementation - Fatal编程技术网

Testing 我如何促进和鼓励实施我的规范?

Testing 我如何促进和鼓励实施我的规范?,testing,specifications,reference-implementation,Testing,Specifications,Reference Implementation,假设我用编程语言(如Java)编写了一个库,用于与外部组件(如数据库)交互 我现在希望社区提供其他语言的实现 我如何能够支持并鼓励其他开发人员提供与我相同的功能实现 例如: 提供行为的书面说明 提供一个参考实现 提供一个测试框架,以便他们能够验证其实现(这可以跨多种语言完成吗?) 还有哪些其他选项可用?您所追求的所有方法的通用方法都可以是的抽象级别。因为它们是一套编程语言的指南,为编写的程序的各个方面推荐编程风格、实践和方法。这些约定通常包括文件组织、缩进、注释、声明、语句、空白、命名约定、

假设我用编程语言(如Java)编写了一个库,用于与外部组件(如数据库)交互

我现在希望社区提供其他语言的实现

我如何能够支持并鼓励其他开发人员提供与我相同的功能实现

例如:

  • 提供行为的书面说明
  • 提供一个参考实现
  • 提供一个测试框架,以便他们能够验证其实现(这可以跨多种语言完成吗?)

还有哪些其他选项可用?

您所追求的所有方法的通用方法都可以是的抽象级别。因为它们是一套编程语言的指南,为编写的程序的各个方面推荐编程风格、实践和方法。这些约定通常包括文件组织、缩进、注释、声明、语句、空白、命名约定、编程实践、编程原则、编程经验规则、体系结构最佳实践等

关于

允许并鼓励其他开发人员提供与我的功能相同的实现

您可以使用接口(协议)。即使它们用于定义不包含数据或代码的抽象类型,它们也将行为定义为方法签名

你的例子很好。但是除了

提供一个测试框架,以便他们能够验证其实现

您可以介绍以下主题的主要思想:

  • 确定实现愿景所需的不同利益相关者的目标

  • 使用特征注入绘制将实现这些目标的特征

  • 开发人员TDD的目标是为您的解决方案指定详细的、可执行的设计


为什么代码中会出现这种重复?[SOA]()不是一个选项吗?例如,有许多不同语言的库可用于Redis。客户应具有相同的基本行为。