摘要:TDD核心的循环是:写一个测试;写一些代码让测试通过;重构代码,使被测试特征的实现尽可能简单。在开发系统时,我们利用TDD来得到系统实现品质(“它能工作吗?”)和设计品质(“它的结构好吗?”)的反馈。以测试优先的方式来开发可以事半功倍。测试驱动开发金规:先写一个会失败的测试,再写一个新特征,永远如此。《测试驱动的面向对象软件开发》 样章下载:http://download.csdn.net/source/2580569
阅读全文
摘要:十年以来,Bjarne Stroustrup在不同的场合多次表示过,C++最大的弱点就是它的教学,因此,他许诺要亲自写一本教授C++的书——不同于The C++ Programming Language那样的、真正面向学习者的教程,来正本清源,以一种他认为正确的方式来教C++。
阅读全文
摘要:为了保证网页去样式后的可读性,并且又符合Web 标准,我们应注意以下几点:* 尽可能少地使用无语义标签div 和span;* 在语义不明显,既可以用p 也可以用div 的地方,尽量用p,因为p 默认情况下有上下间距,去样式后的可读性更好,对兼容特殊终端有利;* 不要使用纯样式标签,例如b、font 和u 等,改用CSS 设置。语义上需要强调的文本可以包在strong 或em 标签里,strong 和em 有“强调”的语意,其中strong 的默认样式是加粗,而em 的默认样式是斜体。
阅读全文
摘要:管理一群测试人员或者与他们共事,理解他们的思维是很有帮助的,这包括你得明白工作上什么事情才能让他们情绪高涨、兴奋异常。测试人员首要的一点是有好奇心。其次,他们喜欢动手实验。再次,好的测试人员胆子比较大。还有其他一些不那么好的特质,例如测试人员容易不信任人,他们质疑一切,包括权威。不是测试团队里的每个人都算得上是测试人员,也不是每个具有测试人员头衔的人都算得上是个测试人员。只懂执行其他人测试想法的人,不能算是一个真正意义上的测试人员。一个“真正的”测试人员一定会把这些已有测试看作自己的职责范围,重新考虑其中的想法,提出问题,充实和改变测试,探究原来的分析没有考虑到的地方。如果你在一个不关注质量的公司工作,并不认同或不解决测试人员辛辛苦苦发现的问题,测试团队会认为这是对他们以及他们的工作缺乏尊重。如果你不给予测试人员他们应得的尊重,很快就会让他们士气低落,然后你就很难留住具有本土市场上热门技能的人才。
阅读全文
摘要:如何将测试驱动开发应用到软件项目中?该从哪里开始?为什么我应该既编写单元测试,又编写用户场景测试?测试“驱动”开发是什么意思?如何测试某个难弄的特征?《测试驱动的面向对象软件开发》介绍了Steve Freeman、Nat Pryce发现的编写面向对象软件的最好方式:测试驱动开发(test driven development,TDD)。本书汇集了作者几十年的经验,包括近十年的测试驱动开发,这些项目包括:面向消息的大型企业集成系统(具有交互式Web前端和多处理器计算网格后端)、微型嵌入式系统(必须运行在几十KB的内存中)、用作关键业务系统广告的免费游戏、后端中间件和网络服务(支持高度交互的图形桌面应用)。
阅读全文
摘要:设计网络社交环境和设计传统媒体、内容广播式的网站,其中一个关键区别就是网络社区不可能在事前就设计得非常完备。或者,更彻底地说,就是社区不应该提前设计完善。我们必须得有机会让社交网站的“社民”自己亲自“完善”设计。MySpace 允许用户有众多的设计组合,例如用户可以以此来创建一种狂欢的气氛以使人想起以前Web中Geocities的家园。Facebook做得更到位,它可以为用户提供任何喜欢的配色方案,特别是高雅的蓝色格调。无论设计决策本身是否正确,但决策所导致的结果会截然不同,它可能会潜在地奠定社交网站的基调。(Yahoo!模式库的奠基人在《社交网站界面设计》提供给你培养用户交互习惯和构建社区最具价值的参考。)
阅读全文
摘要:《团队之美》共31章,每章作者都讲述了自己的团队经历,团队如何一起工作,如何成功或失败,遇到什么障碍,这些作者有什么体会和感悟,等等。粗粗浏览下31位作者,就发现很多名字很熟悉,然后在Amazon搜了一下,发现了一个不大不小的宝藏:Tim O’Reilly,Scott Berkun,Grady Booch,Mike Cohn,Steve McConnell,Karl E. Wiegers,等等。《团队之美》里各种各样的故事甚至像小说:一个喜欢装B的经理怎么毁掉一个团队;好的经理如何顶住高层的无理要求为团队创造更好的工作流程环境;大家怎样因为失败的项目而建立深厚的情谊;有的团队在致力于把饮用水带给非洲同胞;有的团队曾经结结实实地经历了911的飞机;还有开源团队如何利用工具进行高效协作……
阅读全文
摘要:从“正龙拍虎”到“唐骏读博”,最近闹得沸沸扬扬的唐骏“学历门”事件,方舟子揭露 出著名职业经理人唐骏海外学历、经历造假,矛头直指“诚信”问题,还被总结出一个新成语:“唐骏读博”,借喻精英分子不诚信。“学历门”事件涉及公关、出版、媒体如此多的环节的人集体跟随包庇、维护造假,显然,这绝不是偶然的个案,那么,人们不禁要问,还有多少“精英”还在继续“唐骏读博”? “唐骏读博”事件的背后,实质是洋奴主义的溃败!
阅读全文
摘要:“如何管理软件企业”之软件行业的三类主要盈利模式:1.合同项目模式。中国的绝大多数软件公司,由于自身实力不够强,普遍采用“合同项目盈利模式”。虽然能够生存下来,但是活得很累,诞生了“软件民工”一词。2.通用产品模式。在中国,只有“企业级软件”才可以走“通用软件产品盈利模式”。想做好通用的企业级软件产品,难度非常高,不是会编程就可以的。因为企业级软件的复杂度远远高于面向个人的软件。开发方必须把自己打造成为“企业级应用的领导者”,否则潜在客户不信任你的方法和产品,那么产品就无法通用。于是客户提出的个性化需求越来越多,开发方做着做着,就回到了“合同项目盈利模式”。3.运营模式。
阅读全文
摘要:在过去的几年里,业界诞生了几款颇具创意、有着非常棒交互设计的产品,如苹果的iPhone、任天堂的Wii、iRobot的Roomba、微软的交互桌面、Twitter以及像Facebook这样的社会化网络。我们和计算设备交互的范式,如我们使用了40年的桌面隐喻,正在改变和扩充。我们以一种新的方式与产品和他人进行关联。此领域的激动人心的时刻即将到来。《交互设计指南(原书第2版)》主要涉及数字产品如何工作的知识,不包含任何程序代码;事实上,我尽量写成与技术和平台无关。本书的目标读者既包括那些刚刚起步的新手设计师,也包括那些期望改进设计流程或增加设计工具的资深设计师。
阅读全文
摘要:几年前,我们(Peter Eeles和Peter Cripps)开始注意到Grady Booch首创的《软件架构手册》(《Handbook of Software Architecture》,www.handbookofsoftwarearchitecture.com)。 Grady起初的目的是:整理许多有趣的软件密集型系统的架构,以揭示它们的基本模式以及允许在域和架构风格之间进行比较的方式,并把它们呈现出来。当Grady正关注于最终架构的时候,我们感到理解成功架构师创建他们的架构时所遵循的流程同样很有趣。当然,我们最终的目的是复制他们的成功。我们花了好几年的时间才完成这个过程。我们做了许多项目,和许多架构师进行了交流,还对许多开发方法进行了梳理——所有这些都有助于我们理解当构建一个软件系统时起作用和不起作用的因素的本质。《架构实战--软件架构设计的过程》是我们经历的这个过程的总结。
阅读全文