我想在一个新项目中实现用户故事,在哪里可以找到一个好的模板或敏捷开发中使用的其他模板?
我是一家非常小的公司的独立开发人员.我的工作非常混乱,我正在寻找方法使其更有条理.
一个问题是我的项目实际上没有管理.很少有人问我正在做什么,或者我有什么问题.在某些时候,有人谈论每周一次的状态会议,但那是一段时间以前.似乎如果我想要这样的东西,我将不得不自己安排.有时我对我应该做的事情有点迷失,因为我没有定义任务或明确的时间表.
从书籍和文章中我发现了许多可能有用的东西.就像有一个好的编码标准(在我看来只有一个粗略的风格指南,有点过时),代码检查,TDD,单元测试,错误数据库...但在一个小公司,它似乎没有资源或时间任何不重要的事情.我在嵌入式域中工作的事实似乎使事情变得更加复杂.
我觉得在短时间内也有偷工减料的习惯.这导致未完成和不专业的产品和错误等待在以后出现.我想他们也很难维持.所以,我即将继承一个具有挑战性的代码库,进行新的开发,需要学习很多新东西,我想尝试同时为它们构建一个流程.它最终可能会有所回报,但由于经验不足,我不确定是否可以将其拉下来.
在这样的小商店里,环境远非编程的最佳选择.还有许多其他事情需要偶尔完成,如客户支持,接听电话,签署包裹,硬件测试,装配以及可能出现的任何其他任务.所以你了解了资源.这并不全是坏事(有时解决一些客户问题很有启发性),我相信它可以改进,但这是我真正关心的其他事情.
是否有可能在这样的地方进行开发?
进行某种管理会有所帮助吗?什么样的?
是否有可能用小资源制造优质产品?
我如何让自己和其他人相信几十年来成功运作的公司需要改变?什么是必要的?
也许有人在类似的商店工作?
我是一名有很多经验的合同程序员.我习惯于被客户雇用进入我自己的某种形式的软件项目,通常是从零开始.这意味着几乎每次都是干净的石板.我可以引入我开发的库来快速启动,但它们总是可选的.(并且取决于在合同中获得正确的IP条款)很多时候我可以指定甚至设计硬件平台......所以我们在这里谈论严肃的自由.
我可以看到用于构建某些代码的自动化测试的用途:具有更多简单功能的库,具有大量引用的核心功能等.基本上,随着一段代码的价值在大量使用中上升,我可以看到它自动测试该代码将变得越来越有价值,以便我知道我不会破坏它.
然而,在我的情况下,我发现很难合理化任何东西.我会采用它们证明有用的东西,但我不会盲目跟随任何事情.
我发现我在"维护"中所做的很多事情实际上都是小的设计变化.在这种情况下,测试不会为我节省任何东西,现在他们也必须改变.高度迭代,存根优先的设计方法对我来说非常有效.通过更广泛的测试,我无法看到实际上节省了很多时间.
业余爱好项目更难以证明......他们通常都是从周末到月份的任何事情.边缘案例错误很少发生,它只是玩弄东西.
读书问题,比如这一个,最表决的反应似乎是说,在海报的经验/意见TDD实际上是浪费时间,如果你有少于5人(即使假设能力一定水平与TDD /经验).但是,这似乎涵盖了初始开发时间,而不是维护.目前尚不清楚TDD如何在项目的整个生命周期中叠加.
我认为TDD可以成为提高整个行业产品质量的有价值目标的一个很好的步骤.尽管如此,理想主义本身不再能够激励我.
我不认为TDD将是大团队是一个很好的做法,或含有至少一个不可靠的程序员任何规模的团队.那不是我的问题.
为什么一个拥有良好记录的唯一开发人员会采用TDD?
我很想知道在TDD上完成的任何指标(正式与否)......专注于独立开发人员或非常小的团队.
如果做不到这一点,你个人经历的轶事也会很好.:)
如果没有经验,请避免说出意见.让我们不要把它作为一场意识形态战争.此外,跳过更大的就业选择论点. 这只是一个效率问题.
我看到很多文章都说IoC和DI有多棒,而且没有关于它为什么不那么好的文章,因为它可以使代码更复杂.我还看到IoC不应该是代码的核心部分,而是更多的库和插件.文章通常只是一个小参考,这两个模式如何使代码更复杂,但在细节上没有多少.这是我的问题 - 具体应该在哪些地方使用这些模式?
这是一个很好的主题:什么是控制反转?.如果你向下看,有一篇关于拼写检查的帖子和另一篇关于IoC如果只是一个拼写检查器可能不是很好用的帖子.作为一般准则,如果不使用IoC,我只有一个具体的接口类?意思是,我有IMyClass.然后只有实现IMyClass的具体MyClassA.我为什么要在那里使用IoC?
如果我有MyClassA,MyClassB和MyClassC,每个都实现IMyClass,那些可能是IoC正确的候选者吗?
从同一个帖子,有谁知道这篇文章意味着什么:
methodology design-patterns dependency-injection inversion-of-control
我基本上熟悉敏捷方法和Scrum.
但什么是"精益软件开发"和"看板"?
可以说Scrum,Lean和Kanban是敏捷方法的实现吗?或者是精益和看板不同的方法?
精益和看板是否提供了一个框架/指南(如敏捷),并将实现留给相邻的一组实践,如XP和Scrum?
我必须在Java应用程序中发现内存泄漏.我对此有一些经验,但希望就此采用方法/策略方面的建议.欢迎任何参考和建议.
关于我们的情况:
问题: 帮助您成功捕获企业级应用程序中的泄漏的方法是什么?
我最近遇到了一些关于PHP内存限制的问题:
内存不足(分配22544384)(试图分配232个字节)
这些都是调试的麻烦,因为我没有留下关于导致问题的原因的大量信息.
添加关机功能有所帮助
register_shutdown_function('shutdown');
Run Code Online (Sandbox Code Playgroud)
然后,使用error_get_last(); 我可以获取有关上一个错误的信息,在这种情况下,"内存不足"致命错误,例如行号和php文件名.
这很好,但是我的php程序非常面向对象.堆栈深处的错误并没有告诉我有关错误时控制结构或执行堆栈的信息.我已经尝试过debug_backtrace(),但这只是在关机期间向我显示堆栈,而不是错误发生时的堆栈.
我知道我可以使用ini_set或修改php.ini来提高内存限制,但这并没有让我更接近实际找出消耗如此多内存的内容或错误期间执行流程的样子.
任何人都有一个很好的方法来调试高级面向对象的PHP程序中的内存错误?
几年前,我参与了一个绿色的田野项目,在那里我们进行了极限编程.我也看到很多人提到Scrum方法.
有人能告诉我Scrum和XP之间的主要区别吗?
有谁知道为XSLT转换编写单元测试的方法?
我有很多XSLT文件,手动测试它们变得越来越困难.我们有一个示例XML,可以将它与XSL转换中生成的输出XML进行比较.但是,我正在寻找一种更好的测试方法.
在CSSLint (csslint.net)中,他们不建议使用id选择元素.我相信CSS Lint,因为它是由聪明的人写的,他们非常了解CSS.但我想知道这是什么原因?为什么选择id不好的东西?
methodology ×10
agile ×3
css ×1
csslint ×1
debugging ×1
enterprise ×1
java ×1
kanban ×1
legacy-code ×1
memory ×1
memory-leaks ×1
php ×1
scrum ×1
tdd ×1
templates ×1
unit-testing ×1
xslt ×1
xslt-tools ×1