认真的做了笔记,但丢了1/2的内容_Joel谈优秀软件开发方法书评-查字典图书网
查字典图书网
当前位置: 查字典 > 图书网 > 编程 > Joel谈优秀软件开发方法 > 认真的做了笔记,但丢了1/2的内容
Classic Joel谈优秀软件开发方法 的书评 发表时间:2010-09-05 20:09:48

认真的做了笔记,但丢了1/2的内容

《Joel谈优秀软件开发方法》这是一本关于软件工程的书,书中有很多“小众”、新颖的、有启发性的、有价值的观点可以深入挖掘:
比如(要想成为一名出色的黑客,关键就在于做自己想做的事情。)
        摘出一些有价值的内容,查找的时候可以使用:
        Google Books Link:http://books.google.com/books?id=vPvhzDqZlaAC&printsec=frontcover&dq=Joel+on+Software&hl=en&ei=_GN0TPuvOMjIcbSU0d4F&sa=X&oi=book_result&ct=result&resnum=4&ved=0CDwQ6AEwAw#v=onepage&q&f=false

        当我打开链接的那一刻我感觉我在读这本书的策略上是失败的,投入与产出差距非常大
                首先:这本书像是一本拼凑起来的书,作者引用了一些Bloger的文章,然后这本书就出现了;
                其次:不买这本书是正确的,其中的文章本来就是可以再网上免费阅读到的(只要你不侵犯)





*.Ken Arnold 编程风格是主旨
        本文讨论的是一个不被重视的话题:“编程风格”,作者认为对编程采取随意的态度所付出的代价远远超过收获,
另一个角度来说:通过使用这些自由的编程风格我们获取了超越我们所付出代价的收益了吗?对我而言问题的答案很明显:收获远远比不上代价。
        作者很喜欢Python,因为他的简洁:
                Python使用“缩进”来创建一个程序块而不是使用begin与end,或是“{”与“}”。
                Fortran中“空白”只能用于标记令牌之间的分界。这一点被公认为至理名言,因为在Fortran中有列的概念:
                开头5列的位置留给语句编号或注释指示符(comment indicator)使用;
                在6第列上如果有字符,就表示该行是上一行的延续; 第7~72列用于编写代码;
                而最后的8列则被序列号占用,这些序列号是帮助卡片在掉敌后重新排序用的。
        最后,我认为编程风格是一个不能忽视的重要问题,但不可钻牛角尖。
2.Leo Bambrick 最愚蠢的用户界面颁给:Windows搜索界面
        Google如果和Microsoft一样还会是No.1吗?
3.Michael Bean 程序员外包的隐患
        只有当需要开发的软件并不是产品中关键的创新部分时,雇佣外包程序员才是一个有效的的方法。
        以服装和玩具产业为例,由于大部分制造成本都花费在装配而非设计上,因此将装配环节外包是很有意义的;而在编写软件程序时,所面临的挑战主要来源于设计。开发一个软件几乎全部的成本都用于程序编写,而不是装配工作。
        Harvard商学院研究企业战略与竞争优势的专家Michael Porter曾经对于“完全基于运营效率的竞争”的问题做出了如下的总结:“如果你所做的一切在本质上与您的竞争对手并无区别,那么您是不太可能获得很大成功的”。
        软件外包潮流对于企业的危害,不在于短期的裁员,而在于高科技企业因此而失去创新的能力。
        一句话:软件非核心技术或是需要创新部分可以外包,而创新需要留在公司内部,这样才不会在快速的发展潮流中失去核心竞争力继而被取代。
4.Rory Blythe 把Excel当数据库用
        采用漫画的形式,非常讽刺的阐述了使用驴唇不对马嘴的事物造成的愚蠢的结果,而那些傻X的人却不以为然,
5.Adam Bosworth ICSOC04讲座
        Adam Bosworth:软件设计大师,当代研究软件体系结构的极富影响力的思想家。His idea is quite simple:聪明的计算机科学家建立了很多宏伟且复杂的体系结构,但由于他们的发杂程度预警超出了常人的理解能力,因此无法得到应用。而真正的计算机科学家能够利用智慧来简化设计方案,使他们的设计可以为普通大众服务。只有这样,设计出来的体系结构才能真正发挥作用。
        这是一场普通程序员与计算机科学家之间的战争;这是一场追求简单、随意、灵活的人性化编程方式的人士与追求整洁、清爽、正确的编程方式的人士之间的战争;
        互联网上最黑色的问题:及交流时的粗鲁行为。因为您发表的内容是廉价和匿名的,如果与您的观点与声誉实实在在的联系起来,您应该会开始倾向于发表经过深思熟虑后的公正而有分寸的评论。
        信息超载(Information Overload)、Slashdot
        乌邦托似的梦想T.E.Lawrence曾经在“Seven Pillars of Wisdom”(《智慧七柱》)中写道:“所有的人都会梦想,但方式不同。那些每晚在心灵的阴暗角落里做梦的人,醒来以后依然会感到空虚。只有那些睁开双眼做梦的人在市委显得,因为他们能够通过奋斗将梦想变成现实。”
        ???我也希望再多的各位都能牢记:归根到底我们都是人,应该放弃所有柏拉图式的不切实际的东西,而以简单、灵活、随意的方式创造价值。
6.danah boyd 自闭的社会软件
        “专家”的缺陷:技术专家通常更能从技术的角度出发来设计应用程序,而不是很好的从用户的需求与实际情况出发。这或许是技术专家与企业家的区别。
        文中提到了“自闭症”、“艾斯伯格症候群”、“注意力缺失障碍ADD(Attention Deficit Disorder)先是过于关注,随后注意力完全丧失”,而技术专家不仅采纳而且还进一步发扬了这些概念,使其成为通向技术怪才之路的必备之物。
        尽管你们正在联系持续的部分分配注意力的能力,或许有些人在已成为这方面的大师,但作者还是认为大多数人可能无法同时做好两件事情。
7.Raymond Chen 为何不禁用依赖于未公开机制的应用程序
8.Kevin Cheng and Tom Chi 踢骆驼 = Kicking the Llama Http://www.ok-cancel.com/comic/4.html
9.Cory Doctorow 从WIPO中拯救加拿大的Internet
        您可以随意想Internet Service Provider投诉称某网站内容是从您的高中毕业论文中抄袭来的,并事先没有获得您的许可。结果十有八九会是这样:Internet服务供应商把您的敌人一脚踢开,并将其账户关闭,哈哈,正义立刻得到了伸张!
        WIPO(世界知识产权组织)与1996年缔结的互联网条约(WIPO Internet Treaties)致使美国实施了那个可恶的“数字千年版权法案”(Digital Millennium Copyright Act DMCA),并在全球引发了无数的赔偿。TThen,"Notice-and-takedown"(即当Internet服务供应商接获侵犯版权的投诉后,立即采取措施见相关内容撤下)的制度必可避免的出现了。
        在社会工程学中,这一点很有利用的价值:但您想查某人的住址和电话,那么您只需要找到他发表文章所使用的论坛,以版权所有者的身份向ISP发信索取他的资料即可。
10.ea_spouse EA:关于员工的故事
        这里谈论的是商业利益与原始人类尊严的冲突;游戏没有人负责开发补丁、维护,开发完了赚到钱就完,在进行下一个;EA的员工流失率达到50%;强迫他们每周工作90个小时,天啊90个小时!
        在软件开发领域中,有一种主流的思想学派,他们认为对于那些每周加班工作时间超过40个小时的人来说,他们实际上所完成的工作要少于那些不是每时每刻都如此紧迫的人,而作者也是该学派中的一员。
11.Bruce Eckel 强类型与强测试
        “静态类型检查”是编译器在编辑时对所有的变量的类型进行正确性检查。
        “动态类型检查”是在程序运行的时候进行的,与“静态类型检查”恰恰相反。这能导致Bug很长时间都不能被发现。
12.Paul Ford Processing Processing
        Processing它是一种建立在Java基础之上的小型计算机语言。使用Processing可以快速的创造出有趣的图像和动画。
*13.Paul Graham 伟大的黑客 “Great Hackers”由Paul Graham于2004年7与发表 Http://paulgrham.com/gh.html
        Paul文章中暗示“任何使用Java编程或者为Windows编写代码的程序员都不可能成为一名优秀的黑客”,编者;真正伟大的黑客不会在意所使用的工具,他们会根据需要解决的问题来选择合适的工具。XueliangHan很赞成这一点!
-------------------------------------------------------------------------
                |真正黑客 VS 程序员 |
为什么编程 |他们真正热爱编程,为了乐趣 为了谋生|
-------------------------------------------------------------------------
        一名伟大的程序员再生产力方面也许是一名普通程序员的10倍甚至100倍,而他们对于能得到3倍于普通程序员的薪水感到很幸运,出现这种情况的一部分原因是他们不知道自己有多么出色,另一个重要的原因就是他们主要关心的不是钱的问题。
        黑客们想要什么?安静的办公环境,在高科技公司中黑客们的思想就是他的产品。
        如何让黑客们提高工作效率?
        趣味性;讨厌的小问题;聚集效应;识别黑客(Slashdot);培养黑客(要想成为一名出色的黑客,关键就在于做自己想做的事情。)
        黑客们有一种“专注”的能力:“把所有杂事从头脑里清除”的能力。
        如果您有希望成为一名伟大的黑客,那么我建议您最好做到:
                一方面,绝不在枯燥的项目上浪费生命(除非不这么做您和家人就会饿死);
                另一方面,做事必须有始有终、滴水不漏。我所认识的所有伟大的黑客似乎都是如此,也许他们根本就没有想过还有其他什么选择。
14.John Gruber 地址栏就是新的命令行
        当年,Microsoft扼杀Netscape的原因并不是他对Windows构成了威胁,而是Microsoft想要控制这种全新的出版媒体。而不是大家都认为的Microsoft将Netscape视一个对Windows的威胁。虽然Microsoft赢得了浏览器之战,但真正威胁Windows的是Web本身,作者同意Spolsky的观点,Microsoft即将输掉API之战。
        Web应用已非当年,大多数人不会用当专业的软件,更重要的是大多数人根本不关心一款软件能否提供高品质的用户体验,他们的要求只是:能用,而且用的方便。
        Web应用廉价简便,不受平台的限制,只要你有一款浏览器。
15.Gregor Hohpe 星巴克不使用两阶段提交
        相关性、消息处理体系结构、异常处理、会话;
        真实世界的体系结构:日常生活中包含着许多协同的异步交互,这就意味着可以使用一种异步的消息处理体系结构很自然的模拟这些交互,也说明观察日常生活有助于我们设计成功的消息处理方案。
*16.Ron Jeffries 激情“Passion” http://www.xprogramming.com/upmag/jatPassion.htm Fixed:http://xprogramming.com/articles/jatpassion/
        极限编程与敏捷开发
        Here’s what I try to be, and what I like to find in those around me:
                I want to stay the course with the people who converse with me, not just drift away as if no longer interested.
                I want to argue passionately without rancor, let you call me names in the morning and drink in peace and affection with me that night.
                I want to hold others in the true respect that allows them to be what they are, act like they will, while working as hard as possible to influence them to try other things.
                I want to give my ideas away, confident that my little gift will come back to me manyfold.
                I want to try every way I can to communicate with my colleagues, to get my ideas across and to get their ideas back in return.
                I want to honor the passion that people feel, to honor the strongly held beliefs and ideas of others as much as I honor my own
                I want to crash-test those beliefs and ideas hard against each other, confident that even better ideas will come out of the testing.
                I want to assume that we do this from love, that we care about each other, and that we welcome the crackle of real passion, real work, the real interaction of ideas.
                
                I do my best to be that kind of person. And I want to be with other people like that. Thanks for being around.
17.Eric Johnson C++——被遗忘的特洛伊木马 2004.11.20 on “Parity Check:opinions on software development”http://ejohnson.blogs.com/software/2004/11/i_find_c_intere.html
                对于任何一项新技术来说,如果它想站稳脚跟,就必须能够成功支持现在的遗存内容,以免这些“遗产”被竞争对手完全接管。
18.Eric Lippert 更换一个灯泡需要多少名微软员工? 2003.10.28 Http://blogs.msdn.com/ericlippert/archive/2003/10/28/53298.aspx How many Microsoft employees does it take to change a lightbulb?
        许多计算机专业的大学毕业生根本就不知道出了编写代码意外,要使一个商业软件获得成功还需要做哪些工作。
19.Michael “Rands” Lopp 事情如果搞砸了怎么办?http://www.randsinrepose.com/archives/2004/07/10/what_to_do_when_youre_screwed.html
        软件开发工程师真正需要的工具只有4个
                编辑器
                编译器
                版本控件
                bug追踪工具
20.Larry Osterman Larry的软件工程师规则之二:用测试指标来衡量测试人员是行不通的 Http://blogs.msdn.com//larryosterman/archive/2004/04/20/116998.aspx

展开全文


推荐文章

猜你喜欢

附近的人在看

推荐阅读

拓展阅读