软件工程

针对在系统开发生命周期中工作的专业人士,学者和学生的问答

5
我的多服务器RDBMS或我的应用程序应该处理数据库参照完整性吗?
是否应由数据库管理系统(在这种情况下为MS SQL 2005)或应用程序处理外键,约束,默认值等项?我听取了双方的意见,老实说,我不确定该走哪条路。 我们有机会跨越多个服务器/数据库,而且我认为外键不能在链接的服务器之间使用。除此之外,数据库设计中还有一些循环引用,这使我无法ON UPDATE CASCADE在所有内容上使用。 该数据库是MS SQL 2005(可能是2008),与数据库的所有交互都应通过应用程序进行。

3
您选择的{DVCS}中命名分支的良好命名约定
我们正在办公室中缓慢整合Mercurial,并开始使用命名分支进行Web开发。 不过,就命名分支机构而言,我们还没有找到很好的约定。 我们尝试了: FeatureName(可以看到此导致的问题) DEVInitial_FeatureName(当开发人员来来往往时可能会造成混淆) {uniqueID(int)} _功能 到目前为止,uniqueID_featureName获胜了,我们正在考虑将其维护在一个小的数据库中,仅供参考。 它将具有:branchID(int),featureName(varchar),featureDescription(varchar),日期,谁等... 这将给我们这样的分支:1_NewWhizBangFeature,2_NowWithMoreFoo,...,并且我们可以轻松地参考该分支的功能,而不必检查日志。 有更好的解决方案吗?

8
验证码值得降低可用性吗?
什么时候使用验证码有用?什么时候是不必要的障碍?验证码只是懒惰/没有经验的程序员的快速解决方案,还是真的防止垃圾邮件和僵尸程序的最佳方法?


2
在为他工作之前,如何识别一个坏客户?[关闭]
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 6年前关闭。 我敢肯定,你们中的许多人都遇到了坏客户。我也确定您采取了一些措施来防止将来发生此类情况。警告您离开的客户最有影响力的特征是什么?

4
成为项目经理后如何保持技术技能?
随着我职业的发展,我发现自己从事的技术工作更少,而项目管理工作却更多。我开玩笑说我每天都变哑巴。每次我回去做技术工作时,似乎事情都会变得有些困难。人们在整个职业生涯中对保持专业技术有什么建议?

10
什么是编程的最佳监视器?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 8年前关闭。 已锁定。该问题及其答案被锁定,因为该问题是题外话,但具有历史意义。它目前不接受新的答案或互动。 我不时尝试一些显示器。我的主要工作是编码(工作,博士等)。在工作中,我强烈推荐LG Flatron L246WH。但是在家里,我有一台LG W2363V,在编码时我会感到非常不舒服。使用平滑字体时,字体,子像素或任何使我烦恼的东西。 当前,最适合我们需求的最好的显示器是什么?

6
方法和函数名称中的“ A”,“ an”和“ the”:您要做什么?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引文回答。 5年前关闭。 我敢肯定,我们中的许多人都曾经在某一点看到过这样的方法名称: UploadTheFileToTheServerPlease CreateATemporaryFile WriteTheRecordToTheDatabase ResetTheSystemClock 也就是说,方法名称也应是语法正确的英语句子,并包括纯粹使它们像散文一样阅读的多余单词。就我个人而言,我不是这种“文字”方法名称的忠实拥护者,我更喜欢简洁,但仍要尽可能清楚。在我看来,“ a”,“ an”和“ the”之类的单词在方法名称中看起来很尴尬,这使得方法名称不必要地冗长而没有真正添加任何有用的内容。对于前面的示例,我希望使用以下方法名称: UploadFileToServer CreateTemporaryFile WriteOutRecord ResetSystemClock 以我的经验,这比写出更长的名字的其他方法要普遍得多,但是我既看到了这两种风格,又很想知道其他人对这两种方法有何想法。 那么,您是在“像散文一样阅读的方法名称”阵营中,还是在“说我的意思却像糟糕的外语到英语翻译的大声读出来的方法名称”阵营中?

9
保留日记对您的工作有帮助吗?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引文回答。 4年前关闭。 几年前,在我的第一份真正的编程工作中,老板鼓励我保留自己日常活动的日记。我仍然这样做,尽管不再是纸本和手写的。 您是否保留日记本(如果这样),您在日记本中写什么,它如何对您的工作有所帮助?还是只是需要时间才能恢复?

8
我如何每天跟踪编程效率?[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 4年前关闭。 与前几天相比,我如何跟踪自己正在开发软件的效率更高或更低?


5
在程序的注释中放置指向问答站点的链接可以吗?
在相当多的代码库中,您可以看到说明如下内容的注释: // Workaround for defect 'xxx', (See bug 1434594 on Sun's bugparade) 所以我有几个问题,但是它们都是相关的。 将指向SO问题的链接放在程序的注释中是否可以: // We're now mapping from the "sorted-on column" to original indices. // // There's apparently no easy way to do this in Java, so we're // re-inventing a wheel. // // (see why here, in SO …
16 comments 

8
我什么时候应该关心性能?
最长的时间是在Java的IRC通道,SO等位置上,有人告诉我“担心代码的外观及其现在的可读性/可理解性,以及在绝对必要时稍后再执行性能”。因此,在最长的时间里,我并没有真正针对小型台式机或Web应用程序的性能进行OCD,只是消除了效率低下的问题。 大多数回答是“可伸缩性如何?”。没错,但是如果我的应用程序仅能解析10,000行,那我应该为一小部分将要推送到1,000,000行文件中的人弄乱我的代码吗? 我的主要问题是,我何时应该以简单但效率低下的方式来处理大型复杂的大型野兽,这些野兽的处理速度极快,但却破坏了所有可能的升级方式,并使代码过于困难,并且容易被下一个开发人员重写。

8
在大型编程团队中工作感觉如何?
我一直很幸运能在一个小型编程团队中工作。我认为与我合作最多的是11位程序员。与数百名开发人员一起进行项目是什么感觉?几千?什么可以缩放,什么不可以? 编辑:感谢您的所有答复!似乎很少有积极的方面: 可以在大型代码库上工作 更好的内部职业发展 员工免受滥用管理的保护(小级别上的-ve大于大级别上的+ ve) 大型团队还有其他好处吗?

16
软件开发是一门工程学科吗?
已锁定。该问题及其答案被锁定,因为该问题是题外话,但具有历史意义。它目前不接受新的答案或互动。 可以将软件开发视为工程学吗?如果不是,那么要成为合格的工程学科缺少什么?与此相关的是Stack Overflow上有关程序员和软件工程师之间差异的问题。 卡尼基·梅隆大学设有软件工程学院,该学院规定并维护CMMI标准。这会把开发变成工程吗?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.