精华内容
下载资源
问答
  • 卓有成效的程序员

    2019-12-14 19:29:18
    卓有成效的程序员 文章目录卓有成效的程序员工具篇 工具篇

    卓有成效的程序员

    工具篇

    展开全文
  • 卓有成效的程序员 卓有成效的程序员 卓有成效的程序员 卓有成效的程序员
  • 卓有成效的程序员》《卓有成效的程序员》《卓有成效的程序员》《卓有成效的程序员》《卓有成效的程序员》《卓有成效的程序员》《卓有成效的程序员
  • 卓有成效的程序员卓有成效的程序员卓有成效的程序员卓有成效的程序员
  • 卓有成效的程序员.pdf

    2015-09-29 15:32:36
    卓有成效的程序员》就是讲述如何在开发软件的过程中变得更加高效。同时,《卓有成效的程序员》的讲述将会跨语言和操作系统:很多技巧的讲述都会伴随多种程序语言的例子,并且会跨越三种主要的操作系统,Windows...
  • <卓有成效的程序员>

    2010-10-28 12:06:02
    卓有成效的程序员,卓有成效的程序员电子书
  • The Productive Programmer-卓有成效的程序员 ~~~~~~~~~
  • 卓有成效的程序员》就是讲述如何在开发软件的过程中变得更加高效。
  • 免费下载-卓有成效的程序员,中文和英文版的压缩包。不知道全不全,因为我也没看过全本的。
  • 这个是 《卓有成效的程序员》的pdf格式的.因为pdf的不全里面有word的补充。
  • 卓有成效的程序员,从各个方面提高开发效率
  •  《卓有成效的程序员》就是讲述如何在开发软件的过程中变得更加高效。同时,《卓有成效的程序员》的讲述将会跨语言和操作系统:很多技巧的讲述都会伴随多种程序语言的例子,并且会跨越三种主要的操作系统,Windows...
  • 最近读了《卓有成效的程序员》,感觉收获颇大。这是一本写给程序员的难得的好书。书中大都是一些浅显的道理,但作者将这些东西加以收集、归纳、总结,并最终成书。作者为了收集各种提高效率的工具和方法,东奔西走,...
    最近读了《卓有成效的程序员》,感觉收获颇大。这是一本写给程序员的难得的好书。书中大都是一些浅显的道理,但作者将这些东西加以收集、归纳、总结,并最终成书。作者为了收集各种提高效率的工具和方法,东奔西走,可谓费了一番苦心。

    我觉得此书第一部分总结的一些法则非常好,我提取了一下:

    法则:

    1.加速法则

        关注本质,而非形式

        一个应用程序列表的有用程度与它的长度成反比

        程序员的很多时间都浪费在找东西上

        华而不实的东西中看不中用

        键盘输入总比导航快

        首选键盘而非鼠标

        地址栏是Windows资源管理器界面中最高效的部分

        花点时间来学习你手边的所有隐藏的快捷键

        环境切换会消耗时间

        成批复制粘贴要比反复多次复制粘贴快

        忘记历史就意味着你得再输入一遍

        嵌入图形化工具的命令提示符让你鱼与熊掌兼得

        在上下文中学习IDE快捷键,而不要去背长长的列表

        当你第二次输入一个复杂结构时,将它做成模板

        如果要对多行文本做同样的操作,就应该找出其中的模式,并把它记录为一个宏

        不要总是重复输入相同的命令

        每天花一点点时间来使每一天都更高效

    2.专注法则

        精力越集中,思维越缜密

        排除干扰:隔离策略,关掉不需要的提示,创造安静时间 

        草堆越大,从中找到一根针就越难

        不要问文件树,要搜索

        使用多显示器

        虚拟桌面可以让原本杂乱无章的一大堆窗口变得整洁

    3.自动化法则

        不要重新发明轮子

        用Selenium浏览网页

        不要浪费时间动手去做可以被自动化的事情

        用Windows Power Shell替代批处理文件

        驯服Subversion命令行

        以创造性的方式解决问题,有助于在将来解决类似的问题

        是否应该自动化的关键在于投资回报率和缓解风险

        研究性的工作应该放在时间盒里做

        别给牦牛剪毛

    4.规范性法则

        对于任何你不自己去构建的东西,只在版本控制中保存一份副本

        使用标准的构建服务器

        通过复制粘贴来复用是邪恶的,不论你复制粘贴的是什么

        利用虚拟平台使项目依赖标准化

        不要让对象 - 关系映射工具(O/R映射器)违反规范原则

        通过扩展。开放类(open class),或者部分类(partial class) 来为生成的代码增加行为

        始终保持代码和数据结构的同步

        过时的文档比没有文档更糟,因为它会主动误导你

        任何需要费劲创造的东西,都让它的创造者欲罢不能

        白板 + 数码相机强过任何CASE工具

        尽量生成所有技术文档

        重复是软件开发中最大的阻力

    工具:

    书中,还提到了大量的提高效率的工具,都是非常不错的。相信很多人都有自己的一个列表,下面是我电脑中必不可少的几款软件:

        1. FireFox 及其各类插件

        2. Launchy启动加速器

        3. Total Commander

        4. ClipX多重剪切板

        5. EmEditor文本编辑器

        6. Vistual Studio的VA插件

        7. Search And Replace

        8. Everything

        9. Miranda IM

        10. ....

    感触:

    1. 愤怒的猴子

    在书中的第二部分,提到了很多实践相关的内容。让我感触最深的是“愤怒的猴子”的故事:

    早在20世纪60年代(那时候科学家们可以做任何疯狂的事情),行为科学家们进行了一项实验。他们把五只猴子和一架活梯放在一间屋子里,并在天花板上挂了一串香蕉。这些猴子很快就想到它们可以爬上梯子去吃香蕉,但每当它们靠近活梯的时候,科学家们就用冰水浸满整个屋子。我想你能猜到会发生什么:一群愤怒的猴子。很快,再没有一只猴子会去靠近那个梯子了。

    之后,科学家们将其中一只猴子替换成另一只没有忍受过冰水折磨的新猴子。这只新猴子所做的第一件事就是直奔那架梯子,但当它这么做时其他所有猴子都痛打它。它不明白为什么,但很快就学乖了:不要去靠近那架梯子。科学家们逐渐将最初的那些猴子都替换成新猴子,直到这群猴子中谁都没有被水浸泡过,然而它们还是会去攻击任何靠近梯子的猴子。

    这说明了什么?软件项目中许多惯例之所以存在,就因为”我们一直是那样做的“。换句话说,是因为愤怒的猴子。

    我们小组在制定C++相关的代码规范时就遇到过无数类似的问题。比如,在制定变量的命名规范时,我们针对是否采用匈牙利命名法争论了很久。有的人认为, 几乎以前看到的所有C++代码都采用了匈牙利命名法,甚至,微软定义的所有API都使用了此类命名法。刚开始,我也是有同样的疑惑。

    后来,我们经过仔细分析C++匈牙利命名法由来,渐渐感觉我们就是那些愤怒的猴子,盲目跟从前人的方式,缺乏打破传统的勇气。C++有着其特殊的历史原因,很多标准一直沉淀下来并很少改变。我们再看看后来新生的那些编程语言,C#, Python…… 都抛弃了匈牙利命名法,同时再看看现在C++前沿的C++ 0x以及现在出版的一些书中,也渐渐放弃了对匈牙利命名法的使用。因为类型的意义在对象模型中越来越弱化。因此,最后我们放弃了匈牙利命名法这个老古董。

    2. 敏捷开发

    这本书带有强烈的ThoughtWorks色彩,敏捷的思想贯穿全书,包括测试驱动设计,白板,结对编程。这也让我对敏捷产生了更加强烈的兴趣。 其中有一段测试驱动开发TDD的一段故事:

    记得第一次和一些已经习惯于单元测试的开发人员一起动手开始修改代码时,我也是非常紧张,因为大量的修改往往会破坏很多东西,但他们看起来丝毫没有犹豫。逐渐地,我也放下心来,因为我慢慢地认识到:有了测试的保证,完全可以放心大胆地去修改代码。

    3. 有趣的故事

    书中还有一些有趣的故事,比如作者的一个朋友在和别人结对编程时,为了养成同伴使用快捷键的习惯,每当同伴未使用快捷键时,他都会要求将操作撤销,然后要求使用快捷键再重复操作3次。然后,在其凶狠的眼神中,同伴很快掌握了快捷键。

    总结:

    这本书很薄,蕴藏的道理却不少,相信每个读过它的人都会从中收获。读过之后,我们不应该局限于书中提到的某些小技巧, 或是书中某一个细节,毕竟,提供效率的方法有很多很多,法则也有很多很多,一本书很难将其穷举完。我们应该从书中吸取其思想,并在实际工作和学习中不断总结,做一个真正的“卓有成效的程序员”!

     

     

    本文转自CoderZh博客园博客,原文链接:http://www.cnblogs.com/coderzh/archive/2009/07/18/1526082.html,如需转载请自行联系原作者

    展开全文
  • 卓有成效的程序员

    2011-04-02 11:03:49
    卓有成效的程序员 Tuesday, May 25th, 2010 by Tim | Tags: DRY, programmer, YAGNI 最近阅读了《卓有成效的程序员》(The Productive Programmer) 一书,此书虽是2009年出版,但是介绍内容的价值并不会随着...
    (转载)http://timyang.net/misc/productive-programmer/
    做卓有成效的程序员
    Tuesday, May 25th, 2010 by Tim | Tags: DRY, programmer, YAGNI

    最近阅读了《卓有成效的程序员》(The Productive Programmer) 一书,此书虽是2009年出版,但是介绍内容的价值并不会随着时间过去而降低,相信5-10年后对于大部分开发者仍然具有借鉴价值。


    大部分章节是介绍具体的方法来如何提高程序员工作效率。记住具体的技巧未必有太大价值,很多人都认同一种观点就是,读一本书最终的目标是忘记其中所有的观点,但是它会潜移默化影响了你以后的思维和或观点,包括你的行为。因此我认为此书直接的影响就是帮助思考开发过程的方法和问题,思考以前的惯例是否存在问题。比如最近在设计某个产品删除功能的时候,一位同事突然提到是否产品将来有需要查看行为历史,如果需要记录历史,删除的流程就会变复杂,不但影响删除功能的实现,还会影响后端数据的规模,从而进一步会影响架构的设计。因而我的直觉是这是一个过早优化,也就是书中第9章讲的YAGNT(You Ain’t Gonna Need It 你不需要这个特性)。由于第一时间的质疑,这个可能需要耗费大量开发时间的特性被暂停,对于项目本身或许是一件好事。

    此外书中一些敏捷的思路也会带来一些间接影响,我还意识到过去一些非敏捷方法可能会给项目带来风险,一个过去的项目,开发完成之后逐渐变得臃肿,和大部分后端服务相似,需要依赖一些特定的数据库及其他依赖环境。由于不希望开发环境与真实环境差距太大,开发环境也全部按真实环境最小单元的配置来进行,这就导致开发依赖的环境很多

    内部依赖
    MySQL master/slave
    分表
    Memcached(多个)

    外部依赖
    Message Queue(消息队列)
    用户及鉴权服务
    internal HTTP service

    导致的问题
    需要特定的环境才能开发,比如公司配好的环境中
    无法在家中或咖啡馆干活,因为系统跑不起来,无法看到效果
    一旦部分依赖环境有问题,则无法开工,只能等着服务恢复
    一旦几天没跟进代码,可能就由于环境设置的变化而无法独自启动工程。

    这些问题就导致代码改进的工作令人生畏,要像Google那样做到任何对代码感兴趣的人可以patch代码的意愿都会变成”mission impossible”。因此对于这个项目来说,最急需的一个改进是分析依赖,让项目能够随时随地可以方便的跑起来,大家可以很简单的改进代码,对改进的代码进行测试验证,测试之后新的代码基本可以无风险的运行到线上环境去。否则臃肿的项目只会降低大家的贡献的热情,最后变成一个死气沉沉的工作任务。

    你的项目中的惯例是否存在问题呢?比如Java中POJO中无用的get/set方法,比如一些使用c/c++来“优化”项目中的瓶颈而走向时间泥潭的经历,比如贵公司是否又在雄心勃勃要做一个自己的框架,事实上这个框架对于项目本身毫无价值。诸如此类的情况会非常多,这本书主要介绍的是程序员要如何提高自身的效率,但我觉得程序员更多的也应思考团队的效率改进并发出声音。
    展开全文
  • 卓有成效的程序员》笔记

    千次阅读 2016-10-02 21:12:04
    最近重新把《卓有成效的程序员》的书重新看了一遍,一遍看边做笔记体会(后面整理出一张思维导图了),再结合自己的最近几年的实践,依然感觉还是有收获,这确实是一本非常棒的书。即时他里面有些软件介绍可能已经过时...

    作者:弃天笑

    • 最近重新把《卓有成效的程序员》的书重新看了一遍,一遍看边做笔记体会(后面整理出一张思维导图了),再结合自己的最近几年的实践,依然感觉还是有收获,这确实是一本非常棒的书。即时他里面有些软件介绍可能已经过时或者新出现了一些优秀软件。但是这些并不妨碍他思想和方法的优越性。
    • 这个本书最适合刚开始编程入门的人来看了,一般工作过几年的,多少会积累了一些书中的做法和习惯。不过即使如此,看这本书,还是会有种豁然开朗的感觉。而且书不厚,不花费多少时间。
      重要的是,我个人不应该只是了解和使用他介绍的工具,更重要的是要学习他关于高效使用电脑办公的思想和观点。
    • 我个人觉得他全书体现出的思想是工具化、自动化、规范化。受到他的思想的影响,我自己也一直在坚持走这条卓有成效的路,希望对自己的工作效率有所提升。

    一、工具化

    书中介绍了工具各种来提高个人使用电脑和编程的效率,比如使用快速启动工具、搜索工具、以及IDE的各种插件和快捷键等等,确实是给人打开了一扇窗,原来还有这么多可以提升我们办公和编码效率的软件。而且有些是属于小众不为人知的软件,让人感觉非常新奇。

    二、自动化

    能够让计算机做的事情,尽量让计算机,让程序和程序打交道。尽量把重复的工作,都提出来自动化、脚本化。比如编写批处理脚本,处理文本脚本,使用宏定义,基于命令行等等,充分发挥一个程序员的先天优势,同时也打造和慢慢积累属于自己的各种脚本、代码工具库。

    三、规范化

    书中从电脑布局、开发流程、编程思想等讲解了一定的规范和套路,让自己和团队遵循。深入去学习了解,也是特别有意义的。
    比如持续集成,我看就是综合实践的体现,首先描述相关工具和一个开发编译发布的流程,利用服务器脚本等综合部署,实现从提交代码到自动编译和发布出来的一个完成流程,大幅度提高软件开发效率和反馈结果等。

    最后再友情提示一下,看书的时候,对作者介绍的小工具,最好是马上就下载和了解,不要看完之后又要翻回来找相关工具,边看边动手,掌握得也更快更牢固。

    奉上全书的思维导图!

    这里写图片描述

    展开全文
  • 卓有成效的程序员(影印版)一本揭示高效程序员的思考模式,一本告诉你如何缩短你与优秀程序员的差距定价 : ¥42.00会员价 : ¥31.50(75折) 详情查看:http://www.china-pub.com/196401原书名: The Productive ...
  • 卓有成效的程序员(精选版) ,PDF格式。 本书是《卓有成效的程序员》的精选版,节选了原书中比较有代表性的四章。这不是一本帮助最终用户更有效率使用计算机的书。这是一本写给程序员、关于如何提高生产效率的书,这...
  • 卓有成效的程序员    在我们这个行业,不同程序员的个人生产效率可谓判若云泥----大多数人也许要花上一周时间此案能干完的活,有些人一天之内就能搞定的了?这个是为什么呢?简单说来,这些程序员比大多数同行...
  • 《The productive programmer》英文版本和《卓有成效的程序员》中文精选版。 目录: 前言 第1章 简介 9 为什么要写一本关于程序员生产力的书? 9 本书包含哪些内容? 10 如何读此书? 12 第2章 加速 启动面板 14 加速...

空空如也

空空如也

1 2 3 4 5 ... 16
收藏数 313
精华内容 125
关键字:

卓有成效的程序员