软件工程

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

9
配色方案的产生-理论和算法
我将生成图表,并且我正在寻找有关配色方案和算法示例的一些理论。 问题示例: 如何产生互补或相似的颜色? 如何产生柔和,冷和暖的颜色? 如何生成任意数量的随机但截然不同的颜色? 如何将所有内容转换为十六进制三元组(网页颜色)? 我的实现将在AS3中进行,但欢迎使用伪代码中的任何示例。

15
如果不去上大学,就可以获得扎实的编程基础吗?[关闭]
首先,我已经搜索了该站点并阅读了之前所有的“自学与大学知识”主题。大多数答案都证明,上大学是最好的选择,其主要原因有两个: 上大学可以给您提供论文,这对于找到工作至关重要,尤其是在经济困难时期。 上大学将为您提供扎实的编程基础,并教给您必不可少的原理,无论您使用哪种语言/所学的路径。 我的问题来了:我完全不用担心原因1,因为我已经拥有了自己的公司(我建立网站/进行会员营销)并且财务状况稳定,因此我很确定我不需要四处看看找工作 不过,我担心原因2。也就是说,我想确保自己和其他任何人一样拥有坚实的编程基础,而且我想知道自学是否可行。 假设我花时间研究非常基础的知识,例如离散数学,算法设计,编程逻辑,计算机体系结构,汇编,C编程,数据库和数据结构-主要使用书籍,在线资源和大量编码。假设我花了1-2年的时间来学习这些基本知识。 您是否认为我的基础比较牢固,或者与上大学的人相比仍然缺乏?
28 skills 

5
Java包名称约定是否有缺陷?[关闭]
我们都熟悉反转域名的Java包名称约定。即www.evilcorp.com,按照惯例,将选择具有其java包com.evilcorp.stuff。 我越来越厌倦了这个。作为一名商业程序员,我一次又一次地遇到由于更名,收购或类似原因而导致的软件包名称完全不相关的情况。 在开源世界中,名称更改较少,因此有意义。然而,在我看来,许多(商业/内部)软件的保质期都比制造它们的组织的保质期长得多。 这个问题通常是通过采取营销部门的领导使用的名称的软件项目变得更糟大谈特谈他们使用是指某个项目。这个名称将在接下来的三个月内进行更改,以使皇帝的新衣服焕然一新。 因此,我几乎停止使用反向域作为程序包名称。当然,如果大规模进行,则存在名称冲突的风险,但是可以肯定的是,可以通过使用“唯一”软件名称,避免使用通用词或将反向域用于打算作为库出售/发布的项目来缓解这种情况。 。 其他想法?
28 java  naming 

6
为什么SQL在大型桌面应用程序中没有那么广泛?
作为软件开发人员,我从事过从小型自制应用程序到中型企业应用程序的项目。在几乎每个项目中,我都使用一个数据库,或者后悔从一开始就选择不使用它。 现在,我想知道有关数据库及其在一般应用程序中的用法的一些信息: 为什么Windows本身不使用任何“中央” SQL数据库?例如: 错误报告数据存储在许多文件中, Windows Update将所有内容存储在平面文件中, 图标缓存存储在一个非常奇怪的单个文件中,该文件似乎无法通过SQL等访问。 为什么这么多大型应用程序避免使用数据库?例如,Microsoft Outlook不会通过使用真实的数据库而不是通过使用自己的.pst文件格式并将某些数据存储在注册表中来重新发明轮子而获益吗? 如果数据库增加了总体复杂性和微小的性能损失,那么在大多数情况下,使代码变得更简单,这是巨大优势的代价,尤其是在存储小的组织化数据块而不是大型二进制数据时流。那么,为什么这么少的产品实际使用数据库呢?我知道的唯一实际使用Sqlite数据库的应用程序是Firefox,也许是Microsoft Exchange(但最后一个不是桌面应用程序)? 此外,拥有统一的SQL数据库,使部署应用程序,更新/升级数据,在这些应用程序之间共享数据,进行备份变得更加容易,Microsoft Office或Microsoft Expression等应用程序集也不会受益。等等?
28 sql 

14
Shell脚本的哪些功能与PHP / Python开发相关?[关闭]
我是一名学习Java和C#(。NET)的PHP / Python程序员。 我的主要开发操作系统是Windows 7,但我使用过Linux,目前与Ubuntu双重引导。但是,我的Linux知识非常有限。我可以在简单的任务上使用命令行,但是仅此而已。我不执行任何shell脚本编写,也不了解许多重要命令。 我的兴趣是网站开发,移动应用程序以及将来的一些嵌入式内容。Shell脚本编写技能是否对这些兴趣有用?如果是,怎么办?

10
如何确定公司是否有疯狂的政策[关闭]
在面试工作时,是否有一种精致而准确的方法来找出他们是否有疯狂的政策,例如“没有开源”或“未经许可就不要安装软件”,“在失去支持之前不要升级软件”,或“没有访问博客”?
28 interview 

12
如何使您的第三方库保持最新状态?
假设我有一个依赖于10个库的项目,并且在项目的主干中,我可以自由使用这些库的任何版本。因此,我从最新版本开始。然后,每个这些库每月平均更新一次。现在,要使行李箱保持最新状态,则需要每三天更新一次图书馆参考。 这显然太多了。尽管通常1.2.3版是1.2.2版的直接替代品,但如果不进行测试就不会知道。单元测试还不够;如果是DB /文件引擎,则必须确保它与使用较旧版本创建的文件一起正常工作,反之亦然。如果与GUI有关,则必须目视检查所有内容。等等。 您如何处理?一些可能的方法: 如果它还没有坏,那就不要修复它。只要您在应用程序中使用它时没有发现任何问题,就可以使用当前版本的库,无论库供应商多久发布一次更新。微小的增量更改只是浪费。 经常更新以使更改保持较小。由于无论如何都需要进行某天的更新,因此最好经常进行更新,以便在易于修复的情况下及早发现任何问题,而不是跳过多个版本并让潜在的问题积累。 介于两者之间。有一个甜蜜的地方吗?

7
学习网络编程的最佳方法
我来自科学和嵌入式程序设计背景,并且对Web编程的经验很少。什么是最快掌握Web编程的最佳方法?工具和框架建议? 一种方法是深入研究框架,例如Rails。我从Rails教程开始这样做,但是我发现该框架抽象了许多我应该学习的重要概念。 总而言之,经验丰富的程序员想学习Web应用程序编程。

13
处理我陈旧的同事
我是一个相当年轻的程序员,我在一家中型公司的IT部门工作。我有一个同事,他是一个非常好的Visual Basic 6程序员。我的意思是非常好。老实说 在我需要喝第一杯咖啡并启动机器时,他可以交付工作中的应用程序,其中包含的错误很少。他就是那么好。 事实是,我们正在与一个团队合作,他的工作风格完全过时。他不相信版本控制软件(如果您只是确保代码正确,就不需要所有的废话)。不相信部署(我可以交付一个可运行的可执行文件。如何部署该文件供系统管理员了解)。不相信抽象。(''如果您想创建一个子例程,请继续,但是不要从该子例程中调用任何子例程。这样会造成混乱,并且代码也很难遵循。这样,每个人都可以遵循该过程中的每个步骤。 ”或“是的,请确保您可以使用该库为您完成此操作,但是那样您就不会真正了解正在发生的事情”),当然也不相信OOP。(我们在VB.net中工作) 他的工作非常出色,可以比我更快地交付应用程序。但这在团队中是行不通的。我们的其他团队成员很安静,尽管他倾向于同意,但他不喜欢大声说出来。我们的经理认为我是有根据的,但不是程序员。 我很难维护他编写的程序,但这并不能营造良好的团队氛围。您认为对我来说最好的事情是什么?

16
大学毕业后我应该立即成为一名优秀的程序员吗?
可能重复: 我已经获得了计算机科学学位,但是我感觉自己甚至还无法成为一名专业程序员 我最近刚从大学毕业,从那以后我加入了一个开发团队,是迄今为止我最没有经验的开发人员,也许有几个工作条件。同时,团队的其他成员正在摇摆5-10年的经验。 在瓶装作业和测试方面,我是一个非常好的学生和一个非常好的程序员。我已经在一些项目上取得了成功,但是现在我正在使用更大的代码库,学习曲线也更高。 我想知道还有多少其他开发人员开始团队合作,而后如履薄冰。什么时候改变?我如何加快这一过程?我的前辈正在帮助我,但我现在想变得出色并展示自己的价值。

7
在采访开发人员时,您使用什么技术?[关闭]
我意识到有很多关于这种事情的讨论,它们经常演变成教条,围绕着您问“ 100名逻辑海盗”类型的问题还是让他们写“嘶嘶声”。 我感兴趣的是技术和问题一直有效,你的职位面试潜在的开发商时。 每个答案一种技巧,所以我们可以对它们进行投票。
28 interview  hiring 

13
编程书籍的eBook版本[关闭]
(我会为为什么会早日讨论这个问题辩解:编程书籍倾向于具有相当具体的格式需求-代码示例,表格,图像和图形-并非所有书籍类型都通用,并且不一定能很好地处理电子书阅读器。类似地,它们的使用方式也有所不同-您经常浸入和浸入而不是翻阅封面。) 我刚刚注意到,史蒂夫·克鲁格(Steve Krug)的《不要让我思考》作为Kindle的电子书版本提供了(大概也适用于其他读者),这引起了我的思考。 电子书阅读器对于技术书籍而言具有某些优势-主要是,您可以很容易地携带庞大的图书馆,这些图书馆将是笨重的物理书籍。不利的一面是,某些电子书阅读器据称不能很好地处理表格,代码示例等,而诸如《不要让我思考》之类的书可能大量使用了这类东西。 那么,问题是,您在电子书阅读器上阅读和使用编程书籍的经历是什么,您会推荐吗?我对最新一代的Kindle特别感兴趣,但很高兴听到所有设备的信息-可能有助于说明答案中所用的设备。
28 ebook 

10
学习如何使用严重多动症进行编程的任何技巧?[关闭]
我很难尝试学习如何从纯正的教科书中编程。在过去的PHP经验中,视频培训对我来说似乎很好。我正在尽我最大的努力保持专注并不断前进。我特别希望开始独立游戏的开发。 在过去的两周中,我一直在尝试选择“正确的”语言和框架来进行开发。我开始使用Python,但到目前为止我还不太喜欢这种语言。我一直在浏览此网站,以将其与此语言进行比较,并不断分散注意力。 除了所有这些,当您专注于问题时,是否有可能成为一名程序员?有没有人通过这个可以提出一些建议?

11
如果需要结对编程,我应该接受工作吗?[关闭]
给我提供了一份有趣的工作,但是对我来说有一个很大的警告:他们使用结对编程。 我讨厌结​​对编程的想法,但我可能不适合这样做:我喜欢经常停顿,我不想看到有人编程(我会不断戳一下结对以自己编写代码),我必须全力以赴控制我正在使用的机器,我喜欢听音乐,基本上我不喜欢被别人束缚。我什至不是一个社交人。 但是,我从来没有真正使用过真正的结对编程(短时间几次来帮助别人或一起解决一个复杂的任务)……所以结对编程真的那么糟糕吗?考虑到我的态度,我应该拒绝工作还是应该离开目前的工作去尝试? 对于那些问这个问题的人:我正在寻找一个使用正式设计和开发的工作,因为我讨厌我目前在“野外编码”的工作。该公司对我的技术资料非常感兴趣,因此即使我指定我从未从事结对编程工作,他们仍然坚持认为我可能会不喜欢它(除了是一个不友好的独来独往的程序员,我不喜欢并相信配对编程)。

17
最好的C ++面试问题是什么?[关闭]
如果您可以问一个C ++程序员一个问题来衡量他们的C ++技能,那会是什么? 我认为最好的问题是:您可以称之为“删除此”吗?成员函数内部?(我将其作为链接,因此您可以首先考虑一下,然后转到“最佳C ++面试问题–永远!”以查看正确的答案。) 我不问这个问题是因为我希望大多数人都知道答案。如果他们这样做了,那么这将不是一个有用的问题。我要求看看他们是否可以按照自己的方式来获得正确答案,以及如何做到这一点。
28 c++  interview 

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.