问题标签 [methodology]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
methodology - 您是如何构思 Web 应用程序的?
我想知道当您从头开始启动 Web 应用程序时,您遵循哪些步骤和哪些概念。
当您被要求开发一个新的 Web 应用程序时,您被告知的唯一一件事就是需要哪些功能,您会怎么做?
您如何以及以何种顺序构思应用程序中的所有不同层,从数据库设计到 UI 设计,而不会忘记后端......
您使用哪些工具?你遵守哪些规则?
提前致谢。
programming-languages - 你使用什么过程来学习一门新的编程语言?
这个问题是针对经验丰富的程序员的。在学习一门新的语言时,您是否有一套遵循的流程?
我希望我有一个可以遵循的有效方法或待办事项清单,以使学习过程更加简化。
你喜欢独自学习还是和朋友一起学习?有什么地方可以轻松获得新语言的语法吗?您是否制作了一种特定类型的备忘单,您可以在其中快速写下控制结构和重要的关键字?
你有什么特别的东西要记住吗?
你确定要学习什么样的图书馆?你怎么知道你已经学到了一些东西,在什么时候你觉得你好像知道这门语言?
每当我学习一门新语言时,我大部分时间都在翻阅书籍,其中一半是为初学者准备的,而从不为有经验的开发人员准备的。
project-management - 扔掉你的初稿——有兼容的方法吗?
是否有任何编程方法考虑到第一轮编写的代码可能不是您想要使用的概念?在项目结束时,我从开发人员那里听到的最常见的话是“如果我能再做一次,我会做的与众不同。” 这几乎是作家在写完初稿后所经历的过程的精确反映。不同之处似乎在于,编写者会重写并再次重写,直到他们准备好进入编辑阶段,而开发人员似乎先编写然后通过测试和重构来完善他们的初稿。
我当然不喜欢尝试使用替代类比来定义开发过程,但我确实认为认识到你的初稿只是为了记下想法是有价值的,你需要进一步重写才能产生有价值的东西。我只是不认为我曾经遇到过认识到这一点的编程过程或项目方法,所以我希望 Stackoverflow 的广大集体意识可能知道我可以从哪里开始探索这种可能性?
methodology - What are the essential concepts all programmers should learn and use?
I'm currently learning to program, and I didn't take CS classes so I'm basically starting out on the bottom. I have been putting together code on and off for many years, but haven't really had a good understanding of essential concepts needed for enganging in bigger projects. Object-orientation is an obvious one, and I feel I'm beginning to understand some of the concepts there. Then there is a lot of buzz and methodology, such as MVC, UML, SCRUM, SOLID and so foth and so on.. I've looked at many of these but I'm always stumped as most explanations seem to require some understanding of other concepts.
I want to learn this stuff the "right" way, so where do I begin?
What are the overarching constructs I need to understand that enable me to understand all the underpinnings of software architecture/design/development?
What am I missing?
Are there constructs and concepts that can and should wait until I've cleared the foundation?
android-activity - 最喜欢的编程头脑风暴活动?
作为一名艺术家和音乐家,我经常想坐下来,让代码像一首自由形式的诗歌一样滚动,但我发现当我有一个既定目标时,这并不奏效。我最近一直在尝试为自己设定微小而有趣的目标,这与艺术家如何画出快速的静物画没什么不同,但我想知道……
当其他人想为了好玩而编写代码时,他们会怎么做,而不受已经提交的项目的束缚?
process - 如何阻止精益编程变成牛仔编程?
我的团队一直在逐步采用越来越多的轻量级方法,从 Scrum 转向精益/看板,那里的正式流程越来越少。在某个时候,我们将回到 Cowboy Coding;事实上,我担心我们可能已经在边界线上。
在非常轻量级的精益和敏捷流程与无政府状态之间可以划清界限吗?我们怎么知道我们什么时候越界了?我们如何防止自己越界?
这个问题也可以表述为,“在精益消除浪费的努力中,哪些流程不能安全地消除”?
algorithm - 看看一种与您想做的完全相反的方法是否值得?
以本文为例[ PDF]。如果我想将天气退化添加到一张清晰的照片中,看看那张纸并尝试扭转它是否值得?如果可能的话,是否有任何特定的方法来反转算法?
methodology - 什么是“持续实施”?
“持续实施”是软件开发方法的名称吗?如果是这样,它究竟是什么?
你有使用它的经验吗?
请注意,我知道什么是持续集成,但不知道持续实施。
背景:今天我了解到(二手)一家在其软件开发环境中使用“持续实施”的公司。它是正式定义的还是某些敏捷软件开发方法的一部分?
我能找到的最好的是欧洲信息系统杂志上的这篇论文:
“……沃尔沃的一项业务和 IS/IT 计划……开发和实施灵活的售后市场供应链……创建一个平台、Web 服务和一个用于通过 Internet 销售备件的 Web 门户。”
agile - Scrum 中的 Sprint 和 Iteration 以及每个 Sprint 的长度有什么区别?
Sprint 和迭代之间是否有区别,或者 Sprint 中可以有迭代,或者 Sprint 只是使用的术语而不是 Scrum 中的迭代?如果有人可以对此有所了解,那将很有帮助。
假设有 4 个 sprint,并且您决定第一个 sprint 将持续 10 天,是否要求其他 3 个 sprint 的长度应该与第一个决定的 sprint 的长度相同??
methodology - 如何使用精益/看板经常发布?
我对精益/看板很陌生,但在过去的几周里,我倾注了大量的在线资源,并提出了一个我没有找到好的答案的问题。精益/看板似乎非常适合我们公司,他们已经在使用 Scrum,但在该方法中遇到了一些限制。我希望这里有人能给我一个好主意。
在我看来,Scrum 相对于 Waterfall 的最大优势之一是使用 sprint。通过每 14 天准备好一切,您可以获得较短的反馈周期并且可以经常发布。然而,正如我从阅读有关精益的文章中了解到的那样,有一些与此相关的成本(例如,花费在 sprint 计划会议、团队承诺会议上的时间以及在 sprint 结束时为每个人找到有用的东西的一些问题)。
精益/看板将消除这些浪费,但代价是不能每 14 天释放一次。还是我错过了重要的一点?因为,在看板中,您如何能够同时处理新的开发任务和发布?你如何确保你不会运送只完成一半的东西?以及如何正确测试它?
到目前为止,我最好的“解决方案/想法”是:
- 不要经常发布并允许与用完新开发任务相关的浪费。不过,这并不是真正解决问题的方法。
- 在分支中发展,然后合并到主干中。使您必须在内部连续支持至少两个分支。
- 使用一些智能自动标签系统来自动构建某些已完成的任务,而不是其他任务。
总结一下,我的问题是:当你使用精益/看板时,你能经常发布而不引入浪费吗?或者发布通常不是精益/看板的一部分?
特定于我公司的附加信息:我们使用 Team Foundation System 和源代码控制,以前在分支和合并方面有过一些不好的经历。可以通过引入该领域的一些专业知识来解决这个问题吗?