最新文章
风雨20年:我所积累的20条编程经验 程序人生
英文原文标题:20/20: Top 20 Programming Lessons I've Learned in 20 Years 本文转自Jonathan Danylko的网站DCS Media。Danylko是一位资深开发顾问,DCS公司的创始人。 从11岁时,我就一直在编程,并且一直都...
多些时间能少写些代码 程序人生
我在我的微博上说过这样一段话,我想在这里把我的这个观点阐述地更完整一些。@左耳朵耗子:聪明的程序员使用50%~70%的时间用来思考,尝试和权衡各种设计和实现,而用30%~50%的时间是在忙碌着编码,调试和测试。聪明的老板也会让团队这样做。而傻逼的老板,苦逼的程序员会拿出来100%~150%的时间...
“品质在于构建过程”吗? 软件工程
今天在微博上看到几位敏捷爱好者(本着讨论问题的态度故隐其名)探讨敏捷测试和质量保证问题,我忍不住也加入了讨论: Z先生原帖:我刚才看到一个大会演讲稿,谈到敏捷测试六大指导原则:1. 仅靠测试人员不可能获得高质量的软件,质量是整个研发团队的责任;2. 场景是不可穷举的,测试活动必须是风险驱动的,...
各种流行的编程风格 程序人生
英文原文:Programming Styles 在过去的N年中,我遇到了很多编程风格囧然不同的开发者,下面是我所知道的一些,你还知道其它的吗? 散弹枪编程(Shotgun Programming) 这种编程风格是一种开发者使用非常随意的方式对待代码。“嗯,这个方法调用出错了……那么我会试着...
你是优秀程序员吗? 程序人生
英文原文:Are You a Good Programmer? 如果有人要你推荐一名优秀的程序员,你会想到谁?你认为你自己是吗?你的评判标准是什么? 思考了这个问题,我意识到程序员可以以各种方式做到优秀。所以我向你推出“四种类型的优秀程序员”并附上插图。 一、哲学家 哲学家喜欢编写定义良...
我是如何学习计算机编程的 程序人生
英文原文:How I Learned to Program Computers 作者:Feross Aboukhadijeh(花了3个小时开发出实时搜索 YouTube 视频的网站,在建成之后的10天里获得了1百万用户的访问量,详见报道硅谷新生代,编码成瘾不惧失败) 我在很小年纪的时候就开始...
好程序需要你写(至少)两遍 程序人生
本文是从 Great code is written twice (or more) 这篇文章翻译而来。 最近这些年,越来越多的人开始转向敏捷开发。各种敏捷开发技术并不新鲜,大多是在80和90年代发展形成。但只是在最近这些年,程序员和(更重要的是)一些商业顾问、架构师、客户开始变得喜欢和拥抱敏...
不要自称为程序员 程序人生
英文原文:Don't Call Yourself A Programmer, And Other Career Advice 每年都有无数年轻程序员,加入软件行业。 他们在学校里学过编程,但是对这个行业的现实一无所知。 Patrick McKenzie 是美国一家小软件公司的老板,他写了一...
你们是完整团队吗? 项目管理
英文原文:Are You a Whole Team? 译/金毅 如果你的团队使用敏捷方法开发软件,那么采用完整团队方法(Whole-team approach)对于发挥敏捷实践的功效极为重要。 完整团队这一敏捷实践强调以整个团队为单位工作,把专人专责简化为职责均担,从而开发出高质量的软件—...
编程:休息片刻的好处 程序人生
原文作者Axel Rauschmayer是一位居住在德国慕尼黑的自由软件工程师。他在这篇博文列举了在编程期间休息片刻的一些好处。 你会更精明而不是更卖力地工作。我曾经为了一个功能的实现而卖力工作过。每天12小时,整整工作了两个星期。我付出了很多努力。那两个星期之后,我休息了一阵,并产生了一些减...
论编程的最后期限 程序人生
英文原文:On Programming Deadlines 普通编程与专业编程之间有很多差别,而最为显著的就是截止日期。 截止日期 /最后期限 当你给自己写程序的时候,只要你愿意,就可以用很多(或者很少)的时间来完成,但是当你给别人写程序的时候,你就只有一点有限的时间和资源来完成任务。而根...
每一个有理想的程序员都应该读的一本书 -《rework》 程序人生
每一个程序员都有改变世界的梦想,他们不甘平凡,他们想要make a difference,他们想要创立世界上最cool的公司,那具体该如何做呢?风靡全球的《rework》将告诉你答案。 37signals是一家很特别的公司,他们有很独特的理念。虽然他们的团队只有16人,但他们的几个产品每年都会...
我是如何在12周内由零基础成为一名程序员的 程序人生
英文原文:How I Became a Programmer 我的故事 在海军陆战队服役超过10年后,我于去年7月份退役了。随后在8月份找到了一份赌场的工作做公关,到今年2月中旬的时候又被辞退了。到5月中旬的时候我在 DE 协会找到了一份临时的“初级用户体验工程师”工作,而到了8月底我则成了...
结合领域驱动设计的SOA分布式软件架构 软件设计
引言 本文主要是参考Martion Fowler所著的《企业应用架构模式》与Eric Evans所著的《领域驱动设计》这两本泰山之作,加上本人在近年实际的工作过程中开发SOA系统所认识到的问题所写的一篇文章,欢迎各位点评。 最后两节 细说应用层 、系统总体架构是本文的重点,着重说明领域驱动设...
分享我对领域驱动设计(DDD)的学习成果 软件设计
本文内容提要: 1.领域驱动设计之领域模型 2.为什么建立一个领域模型是重要的 3.领域通用语言(Ubiquitous Language) 4.将领域模型转换为代码实现的最佳实践 5.领域建模时思考问题的角度 6.领域驱动设计的标准分层架构 7.领域驱动设计过程中使用的模式 ...
领域驱动设计和实践 软件设计
软件系统面向对象的设计思想可谓历史悠久,20世纪70年代的Smalltalk可以说是面向对象语言的经典,直到今天我们依然将这门语言视为面向对象语言的基础。随着编程语言和技术的发展,各种语言特性层出不穷,面向对象是大部分语言的一个基本特性,像C++、Java、C#这样的静态语言,Ruby、Pyth...
UML基础:统一建模语言简介 软件设计
目录背景知识用例图类图序列图状态图活动图组件图部署图结束语 英文原文:UML basics: An introduction to the Unified Modeling Language 到了21世纪——准确地说是2003年,UML已经获得了业界的认同。在我所见过的专业人员的简历中,75%都...
致年轻开发人员的一封信 程序人生
我收到了很多年轻开发人员写给我的邮件,希望可以提升自己的编程能力。我肯定不是第一个讨论这个话题的人,所以我不确定还可以说出什么新意。然而,这里我认为还是非常值得列出我认为很重要的几点吧。要跟其他开发者一起工作。我们正处在科技史上的黄金时期,这是第一次,身处何地,雇主是谁变得不那么重要。只要你的网...
好的程序员做不出好的软件设计 程序人生
本文是从 Good Programmers Make Bad Designers 这篇文章翻译而来。 你不能看到一个程序员还不错,就把他推到系统分析师、软件设计师或软件架构师的位置上。 如果你在团队或公司里寻找一个能胜任软件架构师或设计师这样重要位置的人时,首先出现在脑子里的想法通常是在程序...
面向领域驱动架构的查询实现方式 软件设计
在上一篇文章《.NET应用框架架构设计实践 - 概述》的评论部分,有网友提出了一个在面向领域驱动架构的实践中比较常见的问题:“DDD使用聚合根访问,那例如那些通用查询如何实现?难道都要经过聚合根多步得到么?DDD如何实现关联表的查询,例如3表关联查询?”这个问题比较泛,涉及的内容也比较多,我就单...