TL; DR
您将一无所知。您所知道的每个“事物”周围总会有更多的深度和广度。边走边学。应用您认为现在相关的“最佳实践” 。犯错误。只是要避免犯下代价高昂的错误。如果您的项目可能导致重大错误,请寻找导师。
现在答案很长...
1.“工作软件是进度的主要衡量标准。” (敏捷宣言)
如果您能看到自己知识的优势,那就太棒了!追求边缘!保持学习!但是请记住,您可以永远学习和分析。
建立东西。
2.学习并犯错误;但不要制造“坏”的东西。*
不断突破知识/技能的界限。你会犯错误。您可以向他们学习。但是,您不必鲁ck。
您寻找和与更有经验的开发人员和导师一起工作的时间应与项目的业务价值和风险状况成比例地增加。
如果你正在做一个小CLI 自己:获取但是它的工作你想要的。
如果你正在写一个银行的门户网站:环绕自己与非常有经验的开发人员。
3.“最佳做法”应该用引号写出,并且要眨眼。
如果至少在某些情况下观察到成功完成X的操作,则“实践”被提升为“最佳实践” 。有人认识到实践A对实现收益X的好处,并宣布它是互联网上的“最佳实践”。其他人则表示同意-通常有充分的理由。但是,从那时起,我们通常会忽略为什么某些实践是“最佳实践”而另一些则是“反模式”或“臭味”。
问题是,“最佳实践”永远不会自私自利。“反模式”本身并不是真正的恶魔。而且,甚至“恶臭” 有时也仅来自腐烂。有时候,那臭味只是一种花哨,美味的奶酪...
您不练习“依赖注入”(DI)之类的事情,因为“依赖注入” 对于业务本身具有宝贵的价值。甚至不需要构建有效的产品。它完成了最终产品中您可能想要的东西。但是,这也可能会使您的工作花费更长的时间,而没有任何好处...
嗯...
因此,您应该遵循“最佳做法”吗?即使您不了解它们?...呃...是的。我是说不 但是,是的。但是,只有那些真正适用于您以及您的软件及其目的的软件。
调用POAP!(是的,我的博客。)
原则,模式和实践不是最终目的。
因此,每种方法的良好和正确应用都会受到更高,更最终的目的的启发和约束。您需要了解为什么要做自己在做的事情!
(POAP不受POAP的限制。)
因此,例如,您可能不完全了解DI的每一个细微差别。但是,如果您了解意图,您将知道是否“应该”使用DI,并且您会更好地隐含地理解DI。
而且,一旦您发布了该产品,您就可以反思DI(或其他任何方式)是否真正有益。如果是这样,请以书面形式阐明原因。如果没有,请以书面说明原因...
奖励阅读/相关程度:
分析瘫痪是一回事。您需要分析和学习;但是,您还需要完成工作。平衡。
您可能总是觉得自己像个牛仔编码员。
* 如果您做任何值得注意的事情,您实际上都会犯下严重的错误。但是,我想你是人类。因此,我们会提前原谅您...或者,至少我愿意。也许。...好吧...我们拭目以待。