软件工程

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

11
微观优化-BAD与游戏开发
在游戏开发中,商业应用程序C#中有很多C / C ++。我已经看到C / C ++开发人员对单行代码如何转换为汇编表达了担忧。在.NET中,很少有人进入IL。 在C#中,“微优化”被皱眉了,很少见并且通常是浪费时间。在游戏开发中似乎并非如此。 是什么造成了这种不一致?游戏会不断推动硬件极限吗?如果可以,随着硬件的改进,我们是否应该期望高级语言接管游戏产业? 我不是想就C#作为游戏开发者的可行性进行辩论。我知道它已经完成了一定程度。专注于微优化。具体来说,Game Dev与Applications dev之间的区别。 游戏更新我的意思是现代,大规模的发展。EG MMORPG,Xbox,PS3,Wii ...

9
是否必须水平滚动使代码可读性降低?
好吧 是否认为这是不良做法? IMO,它的可读性较差。我讨厌必须向右滚动,然后向左滚动,向右滚动,向左滚动等等。它使编码更加痛苦,有时使我感到困惑。 例如,无论何时我编码长字符串,我都将执行以下操作... bigLongSqlStatement = "select * from sometable st inner join anothertable at" + "on st.id = at.id" + "and so on..." + "and so on..." + "and so on..."

4
为什么大型金融/保险公司应使用git和/或github
我为金融/保险行业的一家大型企业(雇员3万)工作。虽然“ IT”不是我们的主要重点,但老实说,这些都是信息驱动的行业,具有更好技术优势的公司似乎能更快地取得发展。 我公司有很多软件开发团队。它们遍布整个版本,具有版本控制功能,更不用说使用的语言/框架了。有些人不使用任何(我知道),一些人使用PVCS,一些人使用VSS,最开明的人使用SVN。 我想将git带入我的企业。更具体地说,我想引入GitHub(私有存储库)。我知道合适的人可以谈论这个话题,但老实说,由于诸如安全隐患或我们的竞争对手都没有使用它这样的大举动作,通常在大型企业环境中会被击落。仅引用jQuery,Ruby on Rails,Facebook等作为参考)。 所以我的问题是这个。大型企业为何应缓慢而有意识地从PVCS / VSS / SVN切换到托管git解决方案(如GitHub,私有仓库)的最令人信服的原因是什么。当然,我的计划的一部分涉及到一个不必要的开发项目的POC。

8
程序员应该为客户“思考”吗?
我到了讨厌需求收集的地步。客户对于自己的利益过于模糊。在敏捷的环境中,我们可以向客户展示一件完成的工作,这还不错,因为我们可以对功能进行少量的定期更正/更新。 在“瀑布式”的环境中(首先是需求,然后是近乎完整的产品),事情可能变得很难看。这种环境使我不断提出要求。EG客户希望“将输入自动转换为数字1”(指订单中的数量)。但是他们没有考虑的是“输入”可能是一个简单的type-o。文本框中的“ x”可能是“笨蛋”,而不是我想要的那些“牙膏”产品之一。但是,有很多要求,我可以忍受并纠正几个小时,最终弄清他们想要的东西。这是不健康的。 在一家公司工作时,我可以尝试调整文化以适应对我们有帮助的敏捷模型(不小的工作,高于我的薪水等级)。或者,在地毯下扫除丑陋的细节,并希望得到最好的。也许我的客户试图与代码过于接近? 如何处理“为客户考虑”的问题而又不给他们太多的问题而烦恼呢?

4
为什么我很难分享我的作品?
我已经完成了一些应用程序,编码不是问题。但是,当涉及到与同事和朋友进行部署/交流/共享时,我感到很困惑。我觉得自己会因为很多错误而被羞辱,人们不会使用它。 我敢肯定,在这种情况下我不是唯一的一个。我不能很好地描述它,但是...这是一个例子。 您制作了一个待办事项列表管理器Web应用程序,现在使用了一段时间。您认为这很不错,可以为您完成工作,但是您没有力量向您的朋友或工作伙伴发送电子邮件,因为他们会以不同的方式看待您,例如“他是一个有雄心壮志的人,如此好的应用程序” ...

5
LINQPad仍在使用吗?[关闭]
按照目前的情况,这个问题并不适合我们的问答形式。我们希望答案得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 7年前关闭。 我正在尝试评估LINQPad今天的流行程度和使用程度。我只是想知道它是否仍然有用,因为VS和其他工具已经变得更好。 此外,我正在通过使用LINQ to SQL在LLBGen上进行编码。我看到有一个用于LLBGen和LINQPad的插件。我仍然想知道LINQPad是否真的值得,或者它可以给我带来什么好处,还是仍然强烈建议使用ORM等。
12 linq 

9
我该如何告诉父母,找到工作才是真正重要的?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,以使它成为软件工程堆栈交换的主题。 9年前关闭。 一方面,我只想获得3.0 GPA的学位。另一方面,我的父母不仅仅想要一个3。 现在是这样。我编程充满热情。我白天和黑夜都在编程。而且我精通所有编程课程。但是,我的所有选修课程(例如写作,历史和所有其他东西)都表现得很糟糕,仅给我GPA 3.1至3.2。我的父母想要更多。 他们认为大学就像高中一样,在那里您需要超级星等成绩才能达到新的水平。但是他们没有意识到足够好的成绩会找到我一份工作。 他们没有意识到程序员需要练习才能变得熟练于编程,而拥有良好的技能才是在一家好的软件开发公司中谋职的要素。 值得庆幸的是,他们并没有威胁要用棒球棍或类似的东西殴打我。他们只是偶尔给我一点“ tsk-tsk”。但是即使是那小小的“ tsk-tsk”也让我为打开IDE感到内gui。最重要的是,由于这种内feeling感,我拖延了。 所以现在,我想和他们在一起。我想知道这样做的好方法。 [编辑] 好的,所以现在,我意识到,我应该瞄准更高的成绩,如下面的建议。

5
从ASP.Net MVC返回ASP.Net Webforms。推荐模式/架构?
对于你们中的许多人来说,这听起来像是一个荒谬的问题,但我问的是,因为我对ASP.Net Webforms的了解很少甚至没有经验 -我直接去了ASP.Net MVC。 我现在正在一个项目中,我们仅限于.Net 2.0和Visual Studio 2005。 我喜欢在使用ASP.Net MVC时将关注点清晰地分开,并且正在寻找使Webforms难以忍受的东西。对于喜欢asp.net MVC,但仍停留在.net 2.0和Visual Studio 2005上的人,是否有任何推荐的模式或做法?

1
REST Web服务的身份验证/访问控制的软件体系结构
我正在设置一个新的RESTful Web服务,我需要提供一个基于角色的访问控制模型。我需要创建一个体系结构,该体系结构将允许用户提供用户名和密码来访问服务,然后根据角色限制他们如何使用服务(可以使用哪些服务,读取与读取/写入等)。分配给该用户。 我环顾了其他问题,发现了我想要的东西。例如,关于如何处理将凭证传递到REST服务的静态身份验证,最佳实践等方面,存在许多精彩的讨论。关于创建网站时程序员应了解的知识(每个开发人员在构建公共网站之前应了解的知识),也有一些很好的指导。 但是我找不到关于实现这些解决方案的软件体系结构的最佳实践和模式的好文章,文章和书。 特别: 用户信息和访问权限应如何存储?(数据模型,位置,格式) 有哪些好的设计模式可以表示和跟踪服务器中的这些模式?(内存中的会话,每次数据库查找等) 在代码库中以哪种安全方式将这些权利映射到服务的良好模式是什么? 哪些架构选择可以帮助保持系统更安全和可靠? 人们从战es中学到了什么? 我正在寻找针对任何特定技术之外的软件体系结构的设计模式和建议。 (如果技术很重要,我计划使用python,twisted和postgresql数据库来实现)

11
版本控制注释-过去或现在时[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 4年前关闭。 对于版本控制注释,其他用户会做什么/推荐吗?过去或现在时? 即 将 x 更改为y。 要么 将 x 更改为y。

7
每个程序员都应该保留“经验教训”日记吗?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 4年前关闭。 每次我完成一个项目时,总会学到一些东西(否则,我不会觉得它很有动力)。但是我记不清所有内容,而且很久以后,我可能会偶然发现上一个项目遇到的相同问题,但是不再解决(或至少尝试了什么)。 那么将其记录在某种日记本中是个好主意吗?我知道写下来的东西就像写文档(并不是每个人都喜欢这样做),并希望我们的记忆在需要时能为我们服务。但是,只要将其记录下来,就可以与其他程序员共享,并从中学到什么。 所以你怎么看?

3
在简历上记录的编程工作的典型职责和成就是什么?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,以使它成为软件工程堆栈交换的主题。 4年前关闭。 我正在重新整理自己的简历,并试图考虑我过去的工作和项目中的责任和成就。似乎并没有很多,但也许有些我只是不认为值得向雇主提及。 您的工作包括哪些职责和成就,您在简历/简历中列出了哪些职责和成就?
12 resume 

9
专业软件开发人员是否仍然梦想创建行业/改变世界的应用程序?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,以使它成为软件工程堆栈交换的主题。 8年前关闭。 我是一个业余程序员。由于没有现实世界中的截止日期,客户反馈或性能评估,我无法幻想拥有和实施“改变世界的下一个伟大创意”。当然,我知道我可能有更大的机会赢得彩票,但是想象一下淘汰一些完全自制的应用程序会破坏现状是很有趣的。 我知道许多专业程序员都有附带项目,有些不是牟利的,有些则没有。我想知道今天早上的上班方式(非IT无聊的工作)是否必须为您的食物编写代码会削弱梦想?丰富的经验会让您感到厌倦,而更专注于手头的项目吗? 不试图成为一个失败者,只是对真正的软件专业人士的心态感兴趣:-)

6
盐哈希值应该从哪里来?
当将盐值添加到哈希值中(例如无法以纯文本形式存储的密码)时,获得盐值的最佳位置是什么?对于上下文,让我们假设这是网页登录时的密码。
12 security  hashing 

4
是否在努力构建一个经过协作编辑的HTML / JS / DOM参考?
W3Schools的声誉是不完整的,有时是错误的,并且被广告所困扰。尽管如此,当在回答SO问题时查找某些内容或链接到文档时,它仍然是唯一方便的跨浏览器资源。 还有其他资源,例如Mozilla开发人员网络正在做越来越出色的JavaScript记录工作,以及传奇而出色的Quirksmode。但是,尽管它们如此出色,但它们仅涵盖了我所谈论的部分领域,并且没有提供社区编辑和质量控制选项。 是否有人意识到创建协作编辑的跨浏览器HTML / CSS / JavaScript / DOM百科全书的努力?如果可以的话,我想像W3Schools的挑战者那样,像是Experts Exchange那样的挑战者。

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.