黑马程序员技术交流社区

标题: 鲜为人知的编程真相 [打印本页]

作者: 滔哥    时间: 2014-6-9 15:58
标题: 鲜为人知的编程真相
当程序员的经历让我知道了一些关于软件编程的事情。下面的这些事情可能会让朋友们对软件开发感到惊讶:
一个程序员用在写程序上的时间大概占他的工作时间的10-20%,大部分的程序员每天大约能写出10-12行的能进入最终的产品的代码 — —不管他的技术水平有多高。 好的程序员花去90%的时间在思考、研究和实验,来找出最优方案。差的程序员花去90%的时间在调试问题程序、盲目的修改程序,期望某种写法能可行。

”一个卓越的车床工可以要求比一个一般的车床工多拿数倍高的工资,但一个卓越的软件写手的价值会10000倍于一个普通的写手。“ — — 比尔 盖茨

一个好的程序员的效率会是一个普通的程序员的十倍之上。一个伟大的程序员的效率会是一个普通程序员的20-100倍。这不是夸张 — — 1960年以来的无数研究都一致的证明了这一点。一个差的程序员不仅仅是没效率— — 他不仅不能完成任务,写出的大量代码也让别人头痛的没法维护。

伟大的程序员只花很少的时间去写代码 — — 至少指那些最终形成产品的代码。那些要花掉大量时间写代码的程序员都是太懒惰,太自大,太傲慢,不屑用现有的方案去解决老问题。伟大的程序员的精明之处在于懂得欣赏和重复利用通用模式。好的程序员并不害怕经常的重构(重写)他们的代码以求达到最好效果。差的程序员写的代码缺乏整体概念,冗余,没有层次,没有模式,导致很难重构。把这些代码扔掉重做也比修改起来容易。

软件遵循熵的定律,跟其它所有东西一样。持续的变更会导致软件腐烂,腐蚀掉对原始设计的完整性概念。软件的腐烂是不可避免的,但程序员在开发软件时没有考虑完整性,将会使软件腐烂的如此之快,以至于软件在还没有完成之前就已经毫无价值了。软件完整性上的熵变可能是软件项目失败最常见的原因。(第二大常见失败原因是做出的不是客户想要的东西。)软件腐烂使开发进度呈指数级速度放缓,大量的软件在失败之前都是面对着突增的时间要求和资金预算。

2004年的一项研究表明大多数的软件项目(51%)会在关键功能上失败,其中15%是完全的失败。这比1994年前有很大的改进,当时是31%。

尽管大多数软件都是团体开发的,但这并不是一项民主的活动。通常,一个人负责设计,其他人负责实现细节。


作者: luyi1009    时间: 2014-6-9 21:05
昨天写了一个代码,思路完全不错,但是代码实现的时候却报错。后来才发现就是一个内外循环弄反了......哎,思考是重要性啊
作者: 自笃行者    时间: 2014-6-9 21:58
看了很受启发的
作者: 唐坚    时间: 2014-6-10 00:18
      受教了
作者: 黑马—张帅    时间: 2014-6-10 08:15
涨姿势了
作者: XCodeRush    时间: 2014-6-10 10:16
跟写小说似的,有的人洛阳纸贵,有的人---“村头厕所可没纸啦”
作者: blz01003hm    时间: 2014-6-10 10:49
路过留痕
作者: 滔哥    时间: 2014-6-10 12:05
luyi1009 发表于 2014-6-9 21:05
昨天写了一个代码,思路完全不错,但是代码实现的时候却报错。后来才发现就是一个内外循环弄反了......哎, ...

代码只是命令,TA必须是你思维的执行
伙伴

作者: 龙泉长空    时间: 2014-6-10 14:21
看来有进步啊
作者: 但愿''专注..    时间: 2014-6-10 18:29
赞同。。。。。
作者: ██    时间: 2014-6-11 00:46
hello  world
!!!!
作者: 496080891    时间: 2014-6-11 03:42
写程序,思想永远是最重要的,代码的实现反而是次要的。
只要有自己的编程思想,任何语言都很容易上手,一些固定的格式。
java:System.out.println("hello world");
c++:cout<<"hello world";
作者: 马到成功2014    时间: 2014-6-11 07:57
思想总跟不上
作者: ˙▎._灬乖囧猫    时间: 2014-6-11 09:51
最近在忙一个Eclipse的web项目,一点一点的感受着思路极为重要啊
作者: 27ZJQ    时间: 2014-6-12 23:06
感觉没有编程的特殊天赋肿么破?
作者: 叶飞翔    时间: 2014-6-13 08:41
说的很有深度啊,受益匪浅。。。
作者: 张周飞    时间: 2014-6-13 09:21
piaoguo{:3_47:}
作者: 黄梁梦想享    时间: 2014-6-13 20:03
恩恩,思想很重要!!!
作者: 梦里花落    时间: 2014-6-13 20:42
又见金叹···········{:2_30:}      for the dream `````
作者: XCodeRush    时间: 2014-6-14 09:47
”一个卓越的车床工可以要求比一个一般的车床工多拿数倍高的工资,但一个卓越的软件写手的价值会10000倍于一个普通的写手。“ ---学习曲线也不一样吧。。。
作者: 唐坚    时间: 2014-6-16 00:39
                 --1
作者: 妖精斩月    时间: 2014-6-16 09:03
写得好啊
作者: java_668    时间: 2014-6-16 15:18
重构还是很好的,是得多想想
作者: eniuovn    时间: 2014-6-16 20:25
Hello World!:hug:
作者: 寐海流风    时间: 2014-6-19 10:37
知识的积累却是个不断去try和手敲代码探索的过程吧,尤其是入门的。
作者: XCodeRush    时间: 2014-6-19 17:12
一天又一天,一年又一年,迷迷糊糊地程序猿。。。{:2_40:}
作者: 为爱编程    时间: 2014-6-20 20:45
怎么增长技术分
作者: 唐晓东    时间: 2014-6-21 09:51
    0      1       多么简单的两个数字,只是我们给想复杂了
作者: 黑马—张帅    时间: 2014-6-22 11:12
学习路过帮顶
作者: Lam    时间: 2014-6-22 11:29
学习了!
作者: _qishiwobusha_    时间: 2014-6-22 12:44
每个行业的人都有点类似金字塔结构,牛逼的总是站在金字塔尖的少数,2B的却大多数是金字塔底的多说,只是又都人安于现状,有些人却努力的往上爬!
作者: Leung    时间: 2014-6-22 15:24
嗯,学习了。“好的程序员花去90%的时间在思考、研究和实验,来找出最优方案。”
作者: ckathlon_fx    时间: 2014-6-23 15:13
虽然说思想很重要,但是如果代码不熟的话,敲代码的时候会经常去看工具书吗?
作者: Mr.Hao    时间: 2014-6-23 15:19
受教了   思想很重要
作者: 超级小白    时间: 2014-6-23 15:47
刚入门的菜鸟表示还是多敲点代码比较好啊。 不然有些东西真是想破脑子也想不出....
作者: 诸葛佰通    时间: 2014-6-23 21:24
个人兴趣GOGOGO
作者: 账号差点被盗    时间: 2014-6-23 21:45
加油加油啊
作者: ⋛⋌⋚JEEP    时间: 2014-6-25 11:12
基础牢,思想深,注释明,代码行。
作者: 马顺    时间: 2014-6-25 13:38
不同时期,面临的能力提升方面应该是不一样的吧!!
作者: AuroraAria    时间: 2014-6-25 17:23
程序员的思想很少有人能理解
作者: DarkSky    时间: 2014-6-25 20:55
看出来了,思考是很重要的!

作者: 嗅ㄨiaǒ孑    时间: 2014-7-28 19:46
好喜欢这个版块
作者: 田峻菘    时间: 2014-10-2 13:51
一个人负责设计,其他人负责实现细节。。。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2