软件工程

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

9
注释if-else-clauses的好方法是什么?[关闭]
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 7年前关闭。 每当我用任何一种语言编写典型的if-else-construct时,我都想知道(在可读性和概述方面)向其添加注释的最佳方法是什么。特别是在评论else子句时,这些评论总是让我觉得不合时宜。假设我们有一个这样的结构(示例用PHP编写): if ($big == true) { bigMagic(); } else { smallMagic() } 我可以这样评论: // check, what kind of magic should happen if ($big == true) { // do some big magic stuff bigMagic(); } else { // small magic is enough smallMagic() } 要么 // check, what kind …
15 comments 

2
嵌入式软件的功能编程
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,以使它成为软件工程堆栈交换的主题。 5年前关闭。 昨晚我正在和一个朋友讨论F#和函数式编程,他向我提出了一个有趣的问题。您将如何在功能上嵌入软件?我的意思是,就无状态代码而言,这似乎是很自然的选择,但嵌入式也需要非常节省内存,而我不确定这方面的功能。 关于嵌入功能的语言或软件包有什么建议吗?

8
单元测试-数据库耦合应用
在对集成到与数据库紧密耦合的应用程序中的模型进行单元测试的最佳方法是什么? 这里的特定情况是一个购物车-我希望能够测试购物车中商品的添加,删除和检索以及定价逻辑等。在我看来,这一切都需要数据库访问,尽管我已经读过好几次了。应该避免数据库访问。


5
算法复习。为什么heapsort是insort算法?
我看不到为什么heapsort被认为是就地排序算法。 我的意思是用要排序的数组元素(即堆)填充的额外数据结构用于协助提取最小值和排序过程。 那么我可能误解了inplace的定义吗? 但是,例如,插入排序显然是就地算法,即元素不需要额外的内存。 那么为什么要考虑到它呢?

4
oData与REST服务有何不同?
我正在考虑编写Web服务API,并且正在考虑创建REST服务。在这种情况下,OData是什么意思?您能解释一下OData和REST之间的区别吗?
15 rest 

4
测试驱动的开发是否迫使我遵循SOLID?
我从TDD的实践者那里听到很多东西,TDD的优势之一是它迫使开发人员遵循SOLID原则(单一职责,开放式封闭,Liskov替代,接口隔离和依赖倒置)。但是对我而言,只需编写一些测试(主要是单元测试)就足以理解遵循SOLID(从而创建可测试的体系结构)非常重要。 TDD是否会迫使开发人员更积极地遵循SOLID,而不仅仅是编写单元测试?

7
多重继承用例
Java忽略了多重继承,因为它消除了保持语言简单性的设计目标。 我想知道Java(及其生态系统)是否真的“简单”。Python并不复杂,具有多重继承。因此,我的问题不是太主观,而是... 从旨在大量使用多重继承的代码中受益的典型问题模式有哪些?

4
编程中的引导程序是什么?
我有时会看到“ Bootstrapper”一词。在为Prism创建一些学习练习时,我最后看到了它。我偶然发现UnityBootstrapper上课。我的问题是:您何时将一门课程称为“自举程序”?为什么?这堂课怎么说?


4
善用try catch块吗?
我总是觉得自己很努力……试图在try / catching和代码之间保持正确的平衡,而这些代码又不会变成令人讨厌的选项卡,方括号和异常,就像火薯一样被扔回到调用堆栈中。例如,我有一个正在开发的使用SQLite的应用程序。我有一个抽象SQLite调用的数据库接口,以及一个接受要进出数据库的事物的模型...因此,如果/当发生SQLite异常时,必须将其扔给模型(被称为模型) ),谁必须将其传递给调用AddRecord / DeleteRecord / whatever ... 我喜欢异常,而不是返回错误代码,因为错误代码可以忽略,遗忘等,而本质上必须处理异常(允许,我可以立即捕获并继续前进...)肯定有比我现在要做的更好的方法。 编辑: 我应该用一些不同的措辞。我知道要重新投掷不同类型的球,我的措辞很差,这是我自己的错。我的问题是……这样做时如何最好地保持代码干净?过了一会儿,它才开始让我感到非常混乱。

6
HTML中的块元素与内联元素:为什么要区分?
块元素和内联元素之间的区别在我看来总是很奇怪。整体差异在于,block元素占据了整个宽度,因此迫使该元素之前和之后的换行,而inline元素仅占据了内容的全部。为什么不只使用一种元素-内联元素,您还可以在其中应用自定义高度/宽度并使用它?您要换行吗?<br />在该行为中插入,或者在CSS中添加一个特殊标记。现在的样子,我看不到它能解决任何问题,相反,它只会强制我认为应该由设计师决定的属性。 那么为什么要两种呢?
15 html  css 

5
有谁知道我们可以在内部为销售人员使用的简单(免费?)功能请求跟踪系统?[关闭]
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 6年前关闭。 我有时会从销售人员那里听到客户使用我们的应用程序的痛点,但是对于我们来说,目前并没有很好的方法来跟踪这些痛点。我本打算自己写一个,但想先问清楚。 我在想的东西是如此简单,从字面上看,它只是添加新功能的一种小形式,然后像栈交换问题一样出现在列表中。然后,用户可以对它们进行投票,甚至在用户每次抱怨与请求相关的内容时进行记录,以便我们可以根据实际数据对它们进行优先排序。然后,我可以每隔几天轻松查看一下,看看发生了什么。就是这样,没有什么比这更复杂了。 知道什么吗

10
可选参数是否有用或阻碍了应用程序维护?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 3年前关闭。 如标题所述,可选参数(例如C#中使用的那些参数)是否有用,还是对应用程序维护的障碍,应避免使用,因为它们会使代码更难于理解?

10
是什么让C开发人员如此好奇“ i ++ == ++ i”?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 6年前关闭。 只是随机观察,似乎在StackOverflow.com上,是否存在有关“ ++ i == i ++”的问题。这个问题一直被问到,我想我在过去两个月中看到了大约6到7次问。 我只是想知道为什么C开发人员对它如此感兴趣?C#和Java开发人员也存在相同的概念/问题,但我想我只看到一个与C#相关的问题。 是因为有这么多示例使用++ i吗?是因为有一些受欢迎的书或教程吗?是因为C开发人员只是喜欢尽可能多地将它们塞进一行以提高“效率” /“性能”,并因此更频繁地使用++运算符遇到“怪异”的构造?

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.