软件工程

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



5
Visual Studio安装程序-为什么正确使用解决方案资源管理器?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 4年前关闭。 每次我安装VS(追溯到过去的那个版本)时,它都会随右侧的解决方案资源管理器一起安装。现在,由于大多数用户界面的导航栏位于左侧栏中(并且位于视口顶部),而导航栏的内容位于该导航栏的右侧,所以这在我看来一直是错误的。 因此,我将解决方案资源管理器拖到屏幕左侧,并将其停靠在此处。但是我从未见过其他开发者能够做到这一点。 考虑到大多数程序员通常如何喜欢自定义环境,添加了他们喜欢的文本编辑器,浏览器,插件,Gassmonkey脚本等,为什么Visual Studio开发人员似乎从未进行过这种简单的UI更改? 有人这样做吗还是我只是在黑暗中尖叫?

6
自由职业者可以使用敏捷开发吗?
我想改善我开发软件的方式。我想开发更快的代码!今天,我使用瀑布方法作为自由职业者,编写Web东西(站点,系统等)。有没有办法使用以这种方式工作的敏捷开发(XP,SCRUM等)?我对敏捷开发一无所知,应该从哪里开始?非常感谢你。
18 agile  freelancing  scrum  web 

4
经营技术书籍俱乐部的最佳方法是什么?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 5年前关闭。 在工作中,我们一直在做午餐时间的读书俱乐部。到目前为止,我们已经完成了: 清洁代码 与旧版代码有效合作 实用程序员 我们每周阅读一章,并指派一个人来介绍这些内容并帮助促进讨论。在这三者中,我们最可能在The Pragmatic Programmer上获得了最大的成功。内容在技术上似乎越复杂,随着本书的发展,人们就越倾向于退学。 我想写一本技术上很繁重的书,例如SICP或Java Concurrency in Practice,但我不知道用我们当前正在使用的格式进行此工作的好方法。你有什么建议?
18 learning  books 

5
“忘记密码”-如何处理?
我阅读了此答案,发现有一条评论坚持不通过电子邮件发送密码: 我不希望通过电子邮件检索密码。这意味着我的密码以纯文本格式存储在某处。仅应将其重置。 这给我提出了处理“忘记密码”选项的问题? 原始密码必须不惜任何代价显示在任何UI中,以便用户能够读取它。那么处理“忘记密码”的方式是什么

3
如何处理命令中的验证后错误(DDD + CQRS)
例如,当您提交注册表单时,您必须在Domain Model(WriteModel中CQRS)中检查表单是否处于有效状态(例如,电子邮件地址语法,年龄等)。 然后,您创建一个Command,并将其发送到Command Bus。 我知道Commands不应该返回任何东西。 那么,您如何处理超出范围的错误Command Bus呢?(例如,用户在1秒钟之前使用进行了注册username/email)。 您如何知道该命令失败,以及如何知道该错误?

2
多人游戏使用TCP还是UDP?
我经常看到这个问题。多数人说,UDP对于实时游戏总是比TCP更好。我的理解是,TCP会尝试一遍又一遍地重新发送数据包,直到对方得到它们为止,而UDP则不在乎。 我读过的大部分内容是,任何实时游戏都必须使用UDP,而TCP则很糟糕。但问题是,无论如何,大多数人似乎还是在UDP之上实现了某种形式的TCP。而且我还听说,由于我们已经不在80年代了,而且互联网现在相当快速且可靠,因此两者之间的差异可以忽略不计。 我的一般理解是否错误?有人可以帮我清理一下吗?

4
模式匹配是惯用的类型还是不良的设计?
似乎F#代码经常针对类型进行模式匹配。当然 match opt with | Some val -> Something(val) | None -> Different() 似乎很常见。 但是从OOP的角度来看,这看起来非常像基于运行时类型检查的控制流,通常会对此皱眉。要说明,在OOP中,您可能更喜欢使用重载: type T = abstract member Route : unit -> unit type Foo() = interface T with member this.Route() = printfn "Go left" type Bar() = interface T with member this.Route() = printfn "Go right" 这肯定是更多代码。OTOH,在我的OOP-y看来,它具有结构上的优势: …

4
前向声明与包含
Reduce the number of #include files in header files. It will reduce build times. Instead, put include files in source code files and use forward declarations in header files. 我在这里阅读。http://www.yolinux.com/TUTORIALS/LinuxTutorialC++CodingStyle.html。 因此它说如果头文件中的类(类A)不需要使用某个类(类B)的实际定义。那时我们可以使用前向声明,而不是包括特定的(B类)头文件。 问题:如果标头中的类(类A)没有使用特定类(类B)的实际定义,那么正向声明如何帮助减少编译时间?
18 c++  coding-style 

3
软件工程中实际上是什么模块?[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 5年前关闭。 根据Stephen Schach的“经典和面向对象的软件工程”,第6章: 模块由单个代码块组成,可以通过调用过程,函数或方法的方式来调用 这似乎非常模糊和广泛。因此,谁能清楚地解释它并显示一些实际的示例,以将需求分解为模块?谢谢。
18 software  modules 

1
PHP如何在内部表示字符串?
UTF8? UTF16? PHP中的字符串是否也跟踪使用的编码? 让我们以这个脚本为例。说我跑步: $original = "शक्नोम्यत्तुम्"; 实际发生了什么? 显然,我认为$original不会只包含7个字符。这些字形必须在此处分别由几个字节表示。 然后我做: $converted = mb_convert_encoding ($original , "UTF-8"); 会发生什么$converted?有$converted什么不同$original? 它会与字节序列完全相同,$original但编码不同吗?
18 php  strings 

6
是否可以将C ++与.NET框架一起使用?
我已经阅读了许多有关C#和C ++中GUI编程的评论。我注意到Microsoft的.NET框架对于GUI编程非常强大。那么可以使用C ++和.NET框架吗? 我认为这将是一个很好的组合,因为C ++是功能强大的语言,并且如我所读,.NET框架是Windows上GUI编程的首选。是否可以用C#编写GUI和使用C ++编写功能?
18 c++  .net 

4
用C ++编写词法分析器
有哪些关于如何使用C ++编写词法分析器的好资源(书籍,教程,文档),有哪些好的技术和实践? 我在互联网上看过,每个人都说要使用像lex这样的词法生成器。我不想这样做,我想手动编写一个词法分析器。
18 c++  compiler  lexer 

6
是否需要在方法签名中为每个参数编写一个Javadoc注释?
我们团队中的一位开发人员认为,有必要为方法签名中的每个参数编写一个Javadoc注释。我认为这不是必要的,实际上我认为这甚至是有害的。 首先,我认为参数名称应具有描述性和自我记录性。如果您的参数的用途不是很明显,那么您可能做错了。但是,我确实知道,有时不清楚参数的用途,因此在这种情况下,应该编写一个Javadoc注释来解释该参数。 但是我认为没有必要对每个参数执行此操作。如果该参数的作用已经很明显,则javadoc注释是多余的;您只是为自己创造了额外的工作。此外,您还为需要维护代码的任何人创建了额外的工作。方法会随着时间而变化,维护注释几乎与维护代码一样重要。您有多少次看到“ X是Y导致Z原因”这样的注释,只是看到该注释已过时,实际上该方法甚至不再使用X参数?它总是发生,因为人们忘记了更新评论。我认为,误导性评论比根本没有评论更具危害性。因此存在过度注释的危险:通过创建不必要的文档,您可以 但是,我尊重团队中的另一个开发人员,并接受他也许是对的,但我错了。这就是为什么我会向其他开发人员提出您的问题:确实有必要为每个参数编写一个Javadoc注释吗?在此假设该代码是我公司内部的代码,任何外部方都不会使用。

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.