软件工程

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

7
一个人的母语会影响代码质量吗?
在语言学领域有一种流派,即问题的解决与自己的母语的语法,语义,语法和灵活性密切相关。 通过与各种国际开发团队的合作,我可以在代码库中清楚地看到一种精神文化(如果愿意的话)。除了编程语言外,德语编码与印度同事大不相同。同样,中美洲的代码与沿海美国的代码也有明显不同(实际上,IBM早在几年前就注意到了)。 您是否与国际同事(来自任何国家)注意到编码风格和问题解决与母语相符?

1
我应该如何将编程文件组织到目录中?[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 4年前关闭。 有时,人们创建了一个探索性的原型,却忘记了目录中的结构... 将编程文件划分为几个目录的好技巧是什么?


4
您已经发货,遇到了罕见的段错误。指针检查还是放手去做?
您已经发货,断言被关闭,您收到一个罕见的崩溃报告,指示代码中发生了空指针冲突。在开发环境中,问题将被断言所捕获。 您所拥有的只是一份崩溃报告,因此重现该问题几乎是不可能的。追踪回溯并没有提供任何有关崩溃为什么首先发生的线索。 选项:-添加指针检查以防止崩溃。这样可以防止崩溃,但是您可能甚至根本不知道为什么会发生崩溃。-让它飞起来,希望它在repro场景下再次发生 假设该应用程序不适合引导导弹或自动制动系统... 您会选择哪一个?
9 bug  pointers 

8
语法糖的严格定义?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 4年前关闭。 在语言圣战中,人们似乎不断地贬低他们认为不是特别有用的任何功能,例如“仅是语法糖”。在这些辩论中,“真实特征”与“句法糖”之间的界线往往变得模糊。您认为语法糖的合理而明确的定义是什么,它避免将其定义为说话者/作者没有用的任何功能?

4
MVC只是PHP编程的SEO吗?
大约有不计其数的“ PHP框架”。他们中的大多数人都遵循 MVC模式。欢迎克服osCommerce编码风格(处理逻辑与SQL和HTML大量混合),但是肯定会有更简单,更容易遵循的方法来获得可维护的应用程序设计。 最初的MVC概念针对的是GUI应用程序。对于Gtk / Python,相应地遵循它似乎是可行的。但是,PHP Web应用程序无法在实时视图(GUI元素)和持久性Controller运行时上运行。如果仅描述所使用的代码+目录分组或类命名,那肯定是一个误称。 “ MVC”似乎像是PHP框架的流行语。而且我实际上已经看到一个或两个成熟的PHP框架承认了这一点,但是无论如何都要重新定义该短语以匹配内部。 那一般是蛇油吗?为什么不使用更好的术语,而传播更明智的可维护PHP概念呢? 一些详尽的推理 为什么我怀疑PHP实现没有遵循真正的MVC模式: 模型:理论上,模型应该很胖并且包含业务逻辑,而控制器应该是瘦处理器(输入->输出)。实际上,PHP框架提倡浅层模型。CI和Symfony例如等同于Model == ORM。即使HTTP输入也由控制器处理,也不被视为模型。 视图:打折了AJAX的变通办法,网页上没有视图。PHP框架仍然可以抽出页面。该接口仍然有效地遵循普通的HTTP模型,与非MVC应用程序相比没有任何优势。(最后,没有一个广泛使用的php框架实际上不能输出到GUI Views而不是HTML。我见过一个可以运行Gtk / Console / Web的PHP库,但是这些框架不能。) 管理员:我不确定。控制器可能不需要在MVC模型中长时间运行并保持活动状态。但是,在PHP框架上下文中,它们主要是请求处理程序。并不是真正值得争论的事情,但是它听起来有点b琐。 会有更好的描述符吗?我见过像PMVC或HMVC这样的缩写词。尽管那里的描述变得更加模棱两可,但是也许这些描述会比当前的Web框架描述得少一些?
9 php  mvc 

3
使用示踪剂子弹有哪些好的标准?
我最近是第一次阅读The Pragmatic Programmer,并且遇到了Tracer Bullets的概念。我意识到我过去曾经根据这种模型进行编码,只是有点像我在大脑中“敏捷”地工作一样。 他们仅给出一个示例,说明他们过去曾在哪里使用过它。情况被确定为“示踪者子弹”的良好候选人的方式是 有许多未知数,并且有许多不同的环境,而且没人能确定GUI的行为方式。 这似乎是大量项目启动的方式,尤其是当您与非技术人员合作开发对冲基金的典型业务应用程序时(例如)。 我之所以使用它,是因为它只是感觉很对,而不真正知道它的名字或对我解释了什么。我知道,如果我试图让每个人都在一个房间里并让他们预先指定所有东西(或至少某些东西),那将是一场彻底的灾难,但这又是一种感觉... 任何人都可以提出一些更具体的标准来确定何时采用此模型?

10
从C#切换到Java,我应该关注哪些“陷阱”?
已锁定。该问题及其答案被锁定,因为该问题是题外话,但具有历史意义。它目前不接受新的答案或互动。 对于新项目,我可能不得不切换到Java。我对Java的了解很少,因为我主要研究和使用C#,而且我担心这两种语言/平台之间的差异可能会给我带来很多问题。 我应该关注哪些陷阱/陷阱?
9 java  c#  .net  pitfalls 


2
如何通过依赖注入避免UI中疯狂的接口数量?
问题 我最近阅读了很多有关Singletons不好以及依赖注入(我理解为“使用接口”)如何更好的知识。当我使用callbacks / interfaces / DI并遵循接口隔离原则来实现其中的一部分时,我最终陷入了混乱。 UI父级的依赖关系基本上是其所有子级的依赖关系的组合,因此,UI元素的层次结构越深,其构造函数就越肿。 在UI层次结构之上一直是一个Application类,其中包含有关当前选择的信息以及对需要反映更改的3d模型的引用。该应用程序类实现了8个接口,而这仅仅是即将推出的产品(/接口)的五分之一! 我目前正在处理持有当前选择的单例,并且UI元素具有自我更新的功能。该函数滴入UI树和UI元素,然后根据需要访问当前选择单例。这种代码对我来说似乎更干净。 问题 单身人士可能适合该项目吗? 如果没有,那么我的DI思维和/或实施过程中是否存在根本的缺陷,从而使其变得如此繁琐? 有关项目的其他信息 类型:带铃铛的公寓用购物篮 大小:代码和UI 维护2个工作月:没有正在运行的更新,但以后可能是“版本2.0” 环境:在Unity中使用C#(使用实体)组件系统 在几乎所有情况下,用户交互都会触发多个操作。例如,当用户选择一个项目时 显示该项目及其说明的UI部分需要更新。为此,它还需要从3D模型中获取一些信息才能计算价格。 在使用者介面的上方,总价格需要更新 为了显示那里的变化,需要调用3d模型上的类中的相应函数

7
在Scrum中,如何在冲刺结束时处理争用/工作量
我的团队几年前开始使用Scrum。我们的项目涉及构建与物理设备(例如机器人和传感器)接口的软件,而我们典型的产品积压订单通常表示向整个系统添加控制设备。 我们将任务分解为接近此处的示例。每个设备集成功能都分为代码,测试,集成测试,同行评审等。显然,每个产品待办事项都有固有的顺序。通常,我们的冲刺持续2周,团队中有4至6名成员。 在冲刺结束时遇到了两个问题: 首先是在冲刺结束时让每个人都忙。 第二个(相关的)是系统争用。在冲刺的最后几天,我们几乎完成了集成。我们只有一个集成系统,因此人们通常无法继续工作,因为他们无法访问该系统。由于这是sprint的结尾,因此sprint积压工作中没有太多工作要做。这些人应该做什么工作?由于当前项目尚未完成,因此产品所有者无法很好地从产品待办事项列表的顶部提取项目。处理技术债务将对整个项目有所帮助,但不会帮助完成冲刺。 是否有任何最佳实践可用于构建sprint以避免这些问题?与产品负责人进行谈判的技巧?
8 agile  scrum 

17
您是否认为CS硕士学位是负面的?[关闭]
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 8年前关闭。 根据我采访开发人员的经验,我觉得获得Comp Sci硕士学位的候选人通常比没有硕士学位的候选人更糟糕。 是我自己,还是其他人注意到了这种现象?如果是这样,为什么会这样呢? 更新 我感谢体贴的评论。我认为我在进行比较时应该更加清楚。假设有两名候选人大约同时毕业,那么平均而言,那些继续获得硕士学位的人比在行业中度过所有时间的人更糟糕。
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.