情况是开发人员应该能够轻松地找到在发布或CR时创建的任何工件.
我的想法是引入一些新的注释来标记任何新类(我不确定它是否适用于任何新方法),例如:
@ArtifactInfo(release="1.2" cr="cr123")
你还有其他建议吗?也许你已经使用过类似的东西?
照顾自己,
马尔钦
解决方法
看看下面的虚代码.
class Authenticator { login(String username,String password){ User user = retrieveUserFromDatabase(username); throwIfWrongpassword(user,password); verifyUserAge(user) } void throwIfWrongpassword(User user,String password){ //throws AuthenticationException if password is wrong } void verifyUserAge(User user){ //verify that user is above 18 or account is authorized by a parent } void biometricLogin(String username,BiometricImage bioimg){ User user = retrieveUserFromDatabase(username); verifyBiometricImage(user,password); verifyUserAge(user); } }
这是一些要求的结果:
>用户必须进行身份验证才能访问系统
>用户可以使用生物识别身份验证代替密码身份验证
>未经授权的用户必须被授权为父母或类似的东西.
所有这些要求都是在不同版本的软件上以不同的时间添加的.
类级别,甚至方法级别的注释都不足以有效地将需求映射到代码.
您必须使用“代码行”级别注释.
当然,这是不切实际的.
正确的方法是在使用源代码存储库和错误跟踪器时遵循一些最佳实践:
> 1)每个要求对应于错误跟踪器上的一个或多个问题
> 2)每个提交消息都以相应的问题密钥开头,例如“PROJ-123 – 一个很好的功能”
> 3)当您执行发布(意味着,递增软件版本)时,您告诉错误跟踪器在该版本中修复了这些问题.
如果您需要知道在哪个版本中实现了哪些要求,请询问您的错误跟踪器.
如果您需要知道为给定需求生成的所有代码,请询问您的源代码存储库(按日志消息过滤提交)
如果您需要知道给定代码行的要求,请询问您的源代码库. GIT和SVN有一个“责备”命令,它会告诉你,对于给定的文件,每行代码,谁提交它,何时以及提交消息(如果团队中的每个人都是好的话,它会有问题编号)男孩) – 所以这将作为假设的“代码行”级别注释.
使用“提交挂钩”可以帮助您在组织中实施规则2).
Maven与JIRA和其他bug跟踪器有一定程度的集成,也许它可以帮助自动化#3.但我并没有像那样使用它.但如果它没有做你需要的,你总是可以ask for more
原文地址:https://www.jb51.cc/java/239845.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。