All articles| All Pictures| All Softwares| All Video| Go home page| Write articles| Upload pictures

Reading number is top 10 articles
Artisan spirits? Made in China learn the Switzerland “Apprentice“ spirit,
CM founder said to push the OPPO Android phone
Google Play回归中国的最大好处:用户可用Play Service - Google Play,谷歌应用商店,谷歌
Mr Su will instead hand the foreign giants Club Barcelona? ,
Express brother leave the rejection of suicide loss: 9 months 1 days off of work,
Micro Edition “balance treasure“ to be on-line in early December,
网易再发声明:邮箱不存在自身数据泄露问题 - 网易邮箱,网易,乌云,网易邮箱数据泄漏
Mobile control caution: men bow down brushes app and one foot free fall into a cerebral hemorrhage,
A wave of faith: Fujiwara-HO in conjunction Sony classic fashion bags,
央行主管协会建言:网络支付单日交易限额提至10000元 - 央行,网络支付
Reading number is top 10 pictures
10 powerless things in life
Azusa Yamamoto1
美女和狗狗2
PengLiYuan lady for the world health organization fight TB and AIDS goodwill ambassador
移民小国也实惠1
Perfect small Laurie1
狗狗与主人神同步1
Terrorist smile the largest human history an explosion1
Summer is most suitable for young people to travel in China6
乳娘帕梅拉安德森3
Download software ranking
Unix video tutorial8
c#程序设计案例教程
Boxer Classic video2
天龙八部最新服务端
Tram sex maniac 2 (H) rar bag7
Professional killers2 for Android
Kung.Fu.Panda.2
Boxer's Top ten classic battle6
仙剑奇侠传98版歌曲
Sora aoi, the nurse, uniform ,nursing assistant
qq published in(发表于) 2014/6/6 8:31:41 Edit(编辑)
高效的程序员什么样?聪明、懒惰 - 程序员

高效的程序员什么样?聪明、懒惰 - 程序员

高效的程序员什么样?聪明、懒惰 - 程序员 - IT资讯
高效的程序员什么样?聪明、懒惰

这里我使用了聪明,懒惰和程序员这几个词。我说的这几个词的意思是:

程序员:有积极活力的,专注于用代码解决真实世界里的问题。不是指那些梦想家,那些永远只想不做的人

聪明:能够周全的思考问题(不是那些耍小聪明的人)

懒惰:就像是程序中的lazy-loading,是指延后写代码的时间(而不是无所事事的人)。

正确的软件开发应该是懒惰式开发,也被称作忍耐式开发;这种开发方式的表现是,在真正动手写代码前,程序员要花大量的时间通盘考虑所有可能的解决方案和途径。这可以看作是延缓写代码,在没有完全理解问题前绝不动手写代码。先把问题理解清楚,确保将要写的代码能真正的解决问题,这将会避免之后写出大量无用的代码。

这里说的先把问题弄清楚,表现有:

• 真正的理解需求,让产品部门(业务分析部门)弄清楚他们真正需求的是什么。

• 这些部门通常不给足够的时间来整理需求

• 他们经常不是请教问题领域专家,而是顺从领导的意见

• 他们通常无法提供前后一致或完整的需求意见。

• 清楚跟团队中的其它程序员或其他团队中的程序员需要那些交互,如何交互,这包括:

• 使用白板交流

• 画流程图(UML或Visio)

你需要花大量的时间调研,来确保需求符合实情,来做工作让你和同事的交流有共同的语言语义。然而,程序员都喜欢立刻冲上去编程,喜欢在电脑前不停的敲代码。

在真正的软件开发中,只有5%的开发时间是有效率的(你可以参考《程序员开发效率悖论》)。如果你发现一个程序员用100%的时间都在盯着屏幕,那么,你看到的这个程序员是最糟糕的程序员。

如果一个程序员总是在电脑前编码,这绝对是一个不好的信号。

高效的程序员总是不断检查他对需求的理解,确保他们的代码和需求是同步的。高效的程序员是频繁的和产品经理/业务人员沟通交流,你可以经常看到他们使用白板与同事和架构师交流讨论。程序员的阅历和经验都是用来提高开发效率,这是最优秀的程序员:

• 他们思考代码的时间增加而写代码时间减少

• 对问题的透彻理解使调试代码的速度更快

• 深思熟虑后的代码速度更快

• 代码长度更短

程序员从心理上讲都是喜爱自己的代码的。

烂程序员不喜欢去修改已经写成的烂代码。相比起优化自己的代码,他们更愿意简单的增加更多的代码,以此来弥补之前的缺陷。更糟糕的是,他们喜欢把责任归咎于他人。最终,一堆不好用的代码上在来另外一堆不好用的代码,整个系统变得到处是bug,极不稳定。

优秀的程序员经常也会写出烂代码,但他们能看到那些代码需要优化,哪些需要重写。优秀的程序员和不优秀的程序员的区别就在于对有问题的代码的态度,优秀的程序员的做法是:

• 如果代码整体上好的,那就重构代码。

• 如果代码整体上有问题,那就重新代码

当代码中有需要优化或需要重写的地方时,时间拖的越久,你就越难回头解决这些问题。因为对这些代码依赖的程序会越来越多,越来越深,当你优化这些代码时,相关的依赖也需要进行相关修改。当积累的问题越来越多时,轻松的优化/重新这些代码已经变得不可能。而使用继续增加代码的方式来弥补之前代码问题,会让系统变得越来越不稳定。

如果脑子里没想清楚,那就懒一些,把写代码的时间往后推。




添加到del.icio.us 添加到新浪ViVi 添加到百度搜藏 添加到POCO网摘 添加到天天网摘365Key 添加到和讯网摘 添加到天极网摘 添加到黑米书签 添加到QQ书签 添加到雅虎收藏 添加到奇客发现 diigo it 添加到饭否 添加到飞豆订阅 添加到抓虾收藏 添加到鲜果订阅 digg it 貼到funP 添加到有道阅读 Live Favorites 添加到Newsvine 打印本页 用Email发送本页 在Facebook上分享


Disclaimer Privacy Policy About us Site Map

If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)
Copyright ©2011-
uuhomepage.com, Inc. All rights reserved.