`
xinglongbing
  • 浏览: 149920 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

Joel谈优秀软件开发-摘录

阅读更多
Joel谈优秀软件开发这本书在图书馆近日稍微看另一部分,更像一个散文集,讲了软件开发中的方方面面。下面是一些记录,书本中提到的一些网址摘录在下面,大家有空的可以去看看,有些挺不错的。
1.Ken Arnold:编程风格是主旨 www.artima.com/weblogs/index.jsp?blogger=arnold

Python是第一个将编程风格纳入编译器错误之中的语言(通过缩进表达层次结构)。

编程风格问题是针对人编程还是针对机器编程的问题。为什么不只使用一种方式来针对人眼和编译器来统一编程。对于任意一种给定的语言只存在一种或少数几种通用的编程风格;永远不会出现一种与众不同的编程风格;很多时间和精力都耗费在由于编程风格不同引起的问题上;对任何一个项目来说采用统一的编程风格总是很好的。若能统一世界上的所有编程风格那么就可以将更多的精力投入到其他有价值的事情上去,而且再也没有编程风格之争了。IDE和编辑器花费了大量的资源和精力用在编程风格的转换上面了。

2.Leon Bambrick:最愚蠢用户界面奖:Windows搜索界面 而google的用户界面非常好。

www.secretgeek.net/ms_search.asp#

3.Michael Bean:程序员外包的隐患 www.forio.com/outsourcing.htm

"软件外包"或"将工作转移至海外":软件开发是设计而不是制造技术

衣服和玩具是在海外制造(中国),因为有大量的廉价劳动力;软件外包是同样的道理(中国和印度有大量的廉价程序员);但软件开发外包上是一个严重的战略错误,(应该好好区分运营效率(如制造外包)和企业战略)。因为软件公司应该关注软件开发中的创新能力,如果将其外包就会失去自己的核心竞争力。

只有当开发的软件产品不是关键创新部分是雇佣外包程序员才是有效的方法:如网站设计工作和库存控制等外包出去可以有效的提高企业的运营效率。然而那些需要高超的开发和设计技巧的创新软件是不可能在流水线上装配出来的,因此若将其外包整个公司将失去创新能力,最终失去竞争优势。

因此一个公司要把握自己的核心竞争力在哪里,把不相关的有效的外包出去,有效提高自己的运营效率,对核心工作因加大创新的力度和创新的步伐。

设计是创新工作,设计不等于装配:服装生产成本90%用户装配和制造,10%用于设计。而软件生产成本中恰好相反:10%的装配和制造、90%设计,不过当构件组装技术成熟以后这个可能发生变化,抑或构件或服务组装永远也不会成功,因为软件设计和开发是创新性活动,要产生优秀的软件必须自己去定制。

定制和批量生产各有利弊。定制可以灵活而个性化、批量可以快速生产而标准化。

4.Adam Bosworth: www.adambosworth.net/archives/000031.html

聪明的计算机科学家建立很多宏伟而复杂的体系结构,但由于复杂度已经超出了常人的理解能力,因此无法得到广泛的应用,而真正聪明的计算机科学家能够利用智慧来简化设计方案使设计服务于大众,这样设计的体系结构才能真正发挥作用。

如:SGML简化以后衍生HTML、XML等得到广泛应用,FTP经过简化得到HTTP协议:这都是Tim Berners-Lee所为。对于编程语言也是如此:C++变得越来越复杂,而VB和PHP很好用有很多用户转向了这两种语言,因此语言的发明者也应该谨记要保持语言的精简。VOIP技术,因为H.323过于复杂而没有得到广泛应用,从Skype出现后才渐渐流行起来。

以上就是:坚持简单而基本的想法。--KISS:keeping it simple and stupid

5.关于程序员加班的故事:程序员应该保持轻松愉悦的工作状态,不能超负荷加班。<人件>一本讲述程序员工作的书籍。

6.Bruce Eckel:强类型与强测试。www.MindView.net  http://mindview.net/WebLog/log-2005

静态类型检查:编译器在编译时对所有变量的类型进行正确性检查。

动态类型检查:变量的类型检查在程序运行时进行的:执行时才会看到类型错误。灵活但运行效率不高,而且错误发现时机过晚。执行效率影响。

静态类型检查不能保证产生正确的代码,而动态类型检查也不一定会导致错误代码的产生:如果没有经过测试那么软件就是不可用的;我们需要的是强测试而不是强类型。编译器只是一种形式上的测试。

www.artima.com/weblogs/viewpost.jsp?thread=4639

 

http://www.ericsink.com/bos

http://www.shirky.com/writings/group_enemy.html

http://blogs.msdn.com/rick_schaut/archive/2004/02/26/80193.aspx

http://blogs.msdn.com/larryosterman/archive/2004/04/20/116998.aspx

http://ejohnson.blogs.com/software/2004/11/i_find_c_intere.html

http://www.randsinrepose.com/archives/2004/07/10/what_to_do_when_youre_screwed.html

http://ejohnson.blogs.com/software/2004/11/i_find_c_intere.html

http://www.eaipatterns.com/ramblings/18_starbucks.html

http://www.eaipatterns.com/downloads.html

http://www.joelonsoftware.com/articles/APIWar.html

http://daringfireball.net/2004/06/location_field

http://paulgraham.com/gh.html

http://www.ftrain.com/colophonic.html

http://www.artima.com/weblogs/index.jsp?blogger=unclebob

http://knowfree.net/2007/02/10/the-best-software-writing-i-apress.kf

http://www.joelonsoftware.com/articles/BestSoftwareWriting.html

分享到:
评论

相关推荐

    软件随想录:程序员部落酋长Joel谈软件

    ### 软件随想录:程序员部落酋长Joel谈软件 #### 一、书籍简介与背景 《软件随想录》是一本由Joel Spolsky所著的著作,该书以其深刻的见解和独特的视角在全球范围内影响了无数程序员。Joel Spolsky是一位在软件...

    软件随想录—— 程序员部落酋长 Joel 谈软件

    本书是一部关于软件技术、人才、创业和企业管理的随想文集,作者以诙谐幽默的笔触将自己在软件行业的亲身感悟娓娓...本书从不同侧面满足了软件开发人员、设计人员、管理人员及从事软件相关工作的人员的学习与工作需要。

    Joel说软件

    根据提供的信息,“Joel说软件”似乎是一本深入探讨软件开发及编程技术的书籍。由于提供的部分内容包含了大量无法解析的特殊字符与乱码,我们主要依据标题和描述来进行相关知识点的总结。 ### 《Joel说软件》核心...

    Joel-landing-page--sem-2:单击此处查看

    标题中的"Joel-landing-page--sem-2"可能是一个网页设计项目,专注于搜索引擎优化(SEO)和搜索引擎营销(SEM)。这个项目可能是由Joel创建的,用于提高网站的在线可见性和吸引潜在用户。"Landing page"是指专门设计...

    软件随想录:程序员部落酋长Joel谈软件

    《软件随想录:程序员部落酋长Joel谈软件》是一部关于软件技术、人才、创业和企业管理的随想文集,作者以诙谐幽默的笔触将自己在软件行业的亲身感悟娓娓道来,观点新颖独特,内容简洁实用。全书分为 36讲,每一讲都是...

    软件随想录 - More Joel on Software

    总的来说,《软件随想录 - More Joel on Software》是一本对软件开发者和管理者极具启发性的书籍,它提供了深入的见解和实用的建议,帮助我们理解并提升软件开发的各个方面。阅读这本书,不仅可以提高个人的专业素养...

    Murach's Java Servlets and JSP 2nd Edition 源代码

    《Murach's Java Servlets and JSP 2nd Edition》是一本深受欢迎的Java Web开发教程,涵盖了使用Servlets和JSP进行动态网页编程的核心知识。源代码是学习过程中的重要辅助材料,它能帮助读者深入理解书中的实例,...

    Joel on Software[English Version] .rar

    1. **软件质量**:Joel强调软件质量的重要性,主张开发人员应该关注细节,以确保产品的健壮性和易用性。他提出了“10倍程序员”理论,指出优秀的程序员可以比普通程序员更高效地编写出高质量的代码。 2. **软件工程...

    Joel's Password Generator-crx插件

    语言:English (United States) 内置安全性和密码记忆性的密码... ... ... ... ...斯坦福Javascript加密库用于提供随机值,这是Ferguson和Schneier的生成器Fortuna的派生产品。...版权所有2013 Joel Walters•根据MIT许可(MIT)许可

    Joel on Software

    《Joel on Software》是由Joel Spolsky撰写的一本著名IT著作,主要涵盖了软件开发、团队管理、软件工程以及互联网行业的多个重要方面。这本书以其深入浅出的讲解和实战经验分享,深受程序员、项目经理和技术领导者们...

    joel 软件随想录

    软件大牛再出新书。相信第一本joel说软件 你也看了 想必收获不少 这本也不能错过

    Apress.More.Joel.on.Software.Jun.2008.pdf

    Joel Spolsky强调了项目管理对于软件开发的重要性,提出了“完美计划”的概念,即在项目初期制定详尽的计划,并随着项目的进展不断调整和优化。他提倡采用敏捷开发方法,如Scrum或Kanban,以提高团队的灵活性和响应...

    PSP Studio-Joel Henry 使用说明书

    PSP Studio,由Joel Henry开发,是一款专门支持PSP实践的工具,帮助用户系统地管理个人的软件开发过程。本文将详细介绍PSP Studio的使用方法,帮助用户更好地理解和运用PSP。 一、PSP简介 1.1 PSP概述 PSP是一个...

    More Joel on software

    美国著名程序员Joel Spolsky关于软件管理和技术公司管理精辟论述,读来受益匪浅,特别是其中给大学计算机系学生的建议。

    软件随想录(英文版) - More Joel on Software

    根据提供的文件信息,我们可以推断出这是一本关于软件开发、设计与管理的书籍,作者是Joel Spolsky。本书包含了对各种与软件开发者、设计师及管理者相关的议题的深入探讨,同时也为那些与这些专业人士合作的人提供了...

    Joel Embiid NBA Basketball HD Theme-crx插件

    乔尔·恩比德(Joel Embiid)在2017-18赛季被评为全明星。 借助每个新选项卡享受令人惊叹的高清壁纸图像。 如果您是费城76人队的喀麦隆职业篮球运动员乔尔·恩比伊德(Joel Embiid)的粉丝,那么您会发现完美的扩展...

Global site tag (gtag.js) - Google Analytics