鉴于工作特性对于公司来说比任何给定时间点的良好代码更有价值,并且糟糕的代码使得添加更多功能变得困难:
你如何阻止代码随着时间的推移而恶化?
在任何时候,获得一个功能是比使用更好的工程设计代码更高的优先级.即使随着时间的推移,每个功能的努力也会增加.
你如何阻止代码随着时间的推移变成不可维护的糊状物?
我工作的团队已经大举采用了scrum.我非常喜欢它的想法,但发现我们不断做出妥协以适应我们的发展现实.这使得scrum效率降低并导致其他开销.
我要问的是,那里的人设法使用纯粹的scrum并且付出了代价.或者不可避免地要做出妥协.
我问这个因为scrum似乎对偏差有点不宽容,如果它接受世界不能总是改变以适应scrum并且在无法工作的地方工作,它可能会成为更好的方法论.
我记得不久之前在Stack Overflow播客中,Jeff Atwood正在谈论赏金系统,他说他们在奖励代码编写之前发布了赏金提供代码,因为代码在几周内不需要.
这有一个标准术语吗?敏捷可以这种方式工作,但它没有必要.我正在考虑向客户提出建议,并希望使用正确的术语以及作为方法备份的任何信息.
本质上,该方法是释放具有某些功能的代码,因为需要不完整功能的时间少于开发所需的时间.
我正在尝试在日食中研究一个流浪汉/厨师项目.我对这两种技术都很陌生,对红宝石有点生疏.我已经安装了rdt并且有一个带有代码的ruby项目.
然而,eclipse似乎并不理解宝石是必需的.有没有办法让红宝石宝石和日食很好地融合在一起.我认为我可以添加宝石作为库但这似乎不起作用.
我习惯使用svn进行分支和合并,通常这很好用.然而,在两个分支中处理了一个组件,并且基本上将组件放在不同的方向上,因此自动合并将不起作用并且使用超出比较显示文件大多不同.
我试图将一些文件拼接在一起,但结果,即使它们有效,也是相当可怕的.
我很想对企业说这是不可能完成的.我可以看到这令他们感到沮丧,因为他们有模块+功能A工作和模块+功能B工作但模块+功能A +功能B只是没有意义.例如,特征A可以移除作为特征B中的关键组件的东西.
有没有办法尝试合并这样的代码?或模块+ A + B真的模块+ C?
我们确实看到了这一点,但是功能A需要的时间比功能B更短,而功能B是长期运行项目的一部分.有没有办法避免这种情况发生?或者他们的方法是如何构建代码,以便两个功能很好地结合在一起?
我认为一般来说,Peer评论是开发过程的一个非常好的部分,它们经常捕捉或质疑在最初编写代码时不明显的事情,并使你更加自我意识,以便你更好地格式化,发表评论等.
但是,如果你是成对编程,你实际上有一个实时的同行评审,那么作为这个过程的一部分,还值得同行评审吗?你有同伴评论吗?
我问,因为结对编程在我工作的地方开始发生,通常这被视为同行评审的替代品.我不太确定,但认为开发人员花在结对编程和同行评审上的时间可能会损害生产力.
前段时间有一个类似的问题,但重点不同,没有明确的共识
我曾经在一些没有使用过源代码控制的地方工作过.他们似乎习惯于对他们改变的代码进行评论,以解释变化,以便可以恢复原状.
我发现这使得代码非常难以阅读,并且在引入源代码控制之后不太需要这样的注释,因为修订历史记录将允许您将票证与更改匹配.
但是现在,我不太确定,我认为在文件和提交消息中记录文件的主要修订可能会很好.这应该使代码更具可读性.人们是否有记录代码更改的最佳实践方法,以便它不会太混乱,但对于试图阅读它的人来说仍然是解释性的?
为了清楚起见,我不是在讨论文件头部的变化列表(这是一个完整的其他参数),而是代码中的注释.
该网站的主页基本上有3列布局.
我可以将它们创建为内容或块.我喜欢使用内容,因为它易于用户理解,他们登录到网站,他们浏览到他们想要编辑的页面,他们点击编辑,但是使用块他们必须进入管理>块等
有什么建议吗?