软件工程

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

5
CSV解析器的单元测试
我应该使用哪些测试对csv解析器进行单元测试? 我在C#中有一个简单的csv解析器,并且我想确保我对所有常见(和不常见)边缘情况都具有良好的单元测试覆盖率。我应该使用哪些测试来识别潜在问题和边界案例?
14 testing  parsing 

6
客户的小时费率收益[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 4年前关闭。 对开发人员来说,按小时进行工作是一件好事,但是很难向客户解释按小时收费的优势。 您对客户的小时费率有何看法?您如何向他解释他的利益,以及如何争论“我想知道该项目的确切成本”?

6
受保护方法的真实场景
今天,我注意到我基本上从不使用protectedC ++代码中的方法,因为我很少感到需要调用父级的非公共方法。我确实在模板方法模式中使用了Java中的protected,但是由于您可以在C ++中覆盖私有方法,因此我也不需要protected。 那么,在哪些实际场景中我想protected在C ++代码中使用方法? (请注意,我一般不太喜欢实现继承,这可能会解释很多...)

5
为什么我们需要方法级安全性?
在现实世界中,为什么我们需要实现方法级安全性? 我们有一个Web应用程序或一个桌面应用程序,用户可以在其中访问用户界面(因此无法直接访问该方法)。 那么,这里的访问方法直接体现在哪里呢? 编辑:我问这个问题,因为我正在尝试使用spring安全性,并且看到授权用户访问方法。 就像是 : @ROLE_ADMIN public void update() { //update }
14 security 

7
开源礼节
我已经开始在Codeplex上进行我的第一个开源项目,并遇到了一些糟糕的代码。(我确实了解到C#仍然具有“ goto”语句),我开始添加“所有者”想要的功能,并在探究了代码库并看清混乱之后(例如使用“ goto”),我想清理它一点点。但是我有点担心,这就是为什么我转向所有人:“修复”“错误代码”对我来说是适当的礼节,还是应该让它继续进行新功能?就像我之前说的,我是整个OSS领域的新手,并且通常在一个团队中工作,所以我不想搞砸。

2
对Haskell中的GUI库的建议[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,以使它成为软件工程堆栈交换的主题。 5年前关闭。 正如Haskell Wiki本身所言: Haskell有大量的GUI库。不幸的是,没有标准的标准,而所有标准或多或少都是不完整的。通常,低级别的贴面进展顺利,但级别较低。高级抽象是实验性的。需要受支持的中级GUI库。 我学院的一位教授要求我和其他三个计算机科学专业的学生考虑为Haskell开发GUI库。他对该项目的最初想法是在OpenGL之上编写一个层,该层模仿Smalltalk中的形态库。但是,这只是一个建议,其他系统绝对值得考虑。 这将我们带到一个实际的,包含多个部分的问题。 我们的图书馆应该争取什么抽象水平?Haskell Wiki似乎强烈表明将首选中级GUI库。但是,仍然欢迎使用高级图书馆。 我们的图书馆应基于什么建造?(例如OpenGL) 您希望看到什么现有的GUI库模仿我们的库(如果有),为什么?(例如PyGame,Morphic,Swing等) 您希望我们的库实现或避免哪些功能?例如,Gnome的好人可能会认为“最小化”按钮是不必要的。 您有什么一般性建议吗? 您会给这个假想库一个聪明的名字吗?(例如HOT-Haskell Opengl Toolkit; HAWT-Haskell Advanced Windowing Toolkit)

7
一周内的项目/开发训练营[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 6年前关闭。 我们的团队正在考虑进行“一周内的项目”(训练营),我想知道是否还有其他人有这样做的经验或任何建议? 其背后的想法是摆脱办公室的干扰,相互激励,并在团队中建立我们的纽带,以便在短时间内提出创新和有利可图的产品。 计划是让整个开发团队(大约5个开发人员),设计师,项目经理,几个销售和市场营销人员在会议中心/酒店呆上一个完整的工作周。我们将完全专注于构建一个Web应用程序(预先计划)并在一周之内将其发布并投放市场。我们将工作很长的一天,但在晚上,我们将作为团队一起玩乐。为了确保我们不会因日常客户支持而分心,将有几个团队成员留在办公室。诸如Firebrand这样的培训公司也使用了类似的“沉浸式”方法。 好主意?糟糕的主意?我们应该如何激励团队? 任何想法/经验/建议将不胜感激。 干杯

7
作为程序员,您是否关心开发过程使用什么方法?
我在工作市场上,我的下一份工作有一系列优先事项,包括薪水,业务范围等。但是,我的要求清单上没有什么是开发过程方法。我觉得我的工作是创建软件,并且我认为流程结构是我可以适应的东西,无论是Scrum还是Waterfall等等。 开发过程方法学对您来说是优先考虑的吗?

8
如果不参考实际的物理对象,如何教OO?[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 6年前关闭。 我记得在某处读过,OO背后的原始概念是找到一种更好的体系结构,以一种保护数据状态的方式来处理多个系统之间的数据消息传递。现在这可能是一个很糟糕的措辞,但是让我想知道是否存在一种没有对象(类比,自行车,汽车,人等)的面向对象的教学方法,而是侧重于消息传递方面。如果您有文章,链接,书籍等,那将很有帮助。

4
从小公司到大公司[关闭]
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 7年前关闭。 对于专门从一家初创规模的公司转移到大型组织的应用程序/数据库开发人员,是否有人有任何提示,想法,警告或一般智慧? 示例想法包括以下内容: 我如何与管理链进行不同的交互? 您是否看到质量或发展速度的趋势在大小上有所不同? 关于团队发展的思考。 社会方面。 还要别的吗。 另外:有人能以类似的举动分享任何个人故事和经验吗? 如果可以任何方式澄清,请告诉我。 我感激任何想法!

9
Python:未来会成为主要的编程语言吗?[关闭]
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 8年前关闭。 已锁定。该问题及其答案被锁定,因为该问题是题外话,但具有历史意义。它目前不接受新的答案或互动。 在阅读了一些Python资料并看了几年前的一些Python代码之后,我决定尝试一下。我决定从Python开始解决Euler项目上的问题,并且对该语言印象深刻。从那时起,我继续学习Django,现在主要将其用于我的Web应用程序。我很想以这种语言进行职业编程,但是我担心该语言的未来目前处于不确定状态。在Google和其他主要公司的支持下,人们可能会抱有希望,您对Python有什么看法,您是否看到很多工作机会?
14 python 

8
在技​​术面试中使用模板问题
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 4年前关闭。 我最近在一次采访中与一位同事就技术问题进行了辩论。作为一名毕业生,我到很多公司走访,发现它们使用了相同的问题。一个例子是“您可以编写一个确定数字是否为质数的函数吗?”,四年后,我发现即使对于初级开发人员,特定问题也很普遍。我可能没有以正确的方式看待,但是软件公司不应该足够聪明地思考自己的面试问题吗?我去过大约16次面试,当时大约有75%提出了同样的问题。这使我相信许多公司都是懒惰的,只是Google:“采访软件开发人员的模板问题”,我觉得采用这种方法对自己不利。 问题:最好是在模板上使用一组问题,还是应该让软件公司力求更具原创性并提出自己的采访材料? 从我的角度来看,如果我在一次面试中失败了,然后去寻找对我所困扰的问题的好的答案,那么如果这些问题相同,我就可以进行下一次面试。
14 interview 

10
呈现出可怕的设计时该怎么办?
我们公司制作网站。我们还设计网站。但是有时我们的客户会带来他/她自己的设计。这通常是由内部设计师制作的,或者与其他设计相同。但是,有时这些设计看起来很糟糕。我说的真的是不专业,不平衡,不冷静。但是客户确实想要这种设计。我真的不喜欢使用如此糟糕的设计。它带走了编码的所有乐趣。您编码。您检查演示。效果很好。看起来糟透了。只是不好玩。 最终客户可能会很高兴,但是1)我对最终产品不感到自豪; 2)社区看到您“开发”丑陋的网站,这对您的形象不利。 有人遇到这种东西吗?你有什么建议吗? 我一直在想: 阻止这些客户。如果有人设计了“自己的”设计,请先看看。然后以某种方式礼貌地拒绝。缺点:您失去了客户。 创建一个新的设计。让我们的内部设计师完成一件非常酷的事情。缺点:客户需要为此付费(无需索取),否则将被拒绝,公司损失时间=金钱。如果您突然提出新的设计,这可能是一种侮辱。他们的设计师肯定不会喜欢。 在网站底部放置明确的免责声明:XXXXX的网站设计,美国的网站开发。帮助社区(如果人们注意),但不会带来不安感。
14 design 

3
如何处理“软件寿命终止”情况?
当供应商宣布不再打算为某个软件提供任何支持或服务时(并表示打算退出该业务-不提供升级途径),客户可以使用哪种资源? 请考虑从 客户的角度。客户的IT员工可能只会考虑技术选择,但是客户也可能会追求非技术选择。另外,客户可以提前采取什么样的合理步骤来最大程度地减少中断,例如合同条款? 我能想到的事情: 需要购买备用硬件并设置备用环境,软件可以在该环境下继续运行。 不需要卖方参与的各种数据导出方法。(这可能包括诸如检查商品数据库后端中存储的数据之类的琐碎技术,以及诸如屏幕抓取,打印到图像然后重新扫描等更复杂的技术) 工作人员将手动或半自动将旧数据复制到新系统的并行系统 以法律手段,以防卖方出现财务问题(例如,源代码托管) 还有其他想法吗? 假设不涉及“规避”(没有DRM,没有DMCA),数据恢复或逆向工程是否合法/可以接受? 编辑说明: 它是几个轶事,但真实的故事的结合。我没有直接参与其中的任何一个。我只是想了解一般如何处理“软件报废”情况。我不想使原始故事听起来太“难”而无法解决。

3
当由1-3名开发人员组成的团队成长到10岁以上时,您会改变哪些管理/开发实践?
我的团队几年前为客户建立了一个网站。网站的流量一直在迅速增长,我们的客户一直在要求我们壮大团队以满足他们的维护和功能要求。 我们从少数开发人员开始,我们的团队不断壮大-现在我们的人数达到了两位数。 当团队从小型“车库大小”的团队发展到10多个开发人员时,哪些管理/开发变更最有益?

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.