atitit.提升软件开发的生产力关健点-------大型开发工具最关健

1. 可以创作出更好的工具遍历自己 1

2. 大型工具包括哪些方面 2

2.1. ide 2

2.2. dsl 2

2.3. .frmwk、、lib 2

2.4. 模块化soa 2

3. Eat Our Own Dog Food 2

4. 每样小工具只做一件事 2

5. 以command line/web为接口 3

1. 可以创作出更好的工具遍历自己

生产力可以有十倍甚至百倍的差距。这是其他行业很少见到的现象,

一般行业只能在现有的工具上磨练自身的技术,但程式设计师除了磨练技术外,还可以独自创造、修 改自己使用的工具;

电机、化工、土木工程师要设计IC、化学制程、建筑结 构,但他们得依赖电脑软件才能设计,并且靠许多大型机器和工具才能生产,即使想提升自身的工作效率,也不是自己一个人想做就能办到的。

但软件工程师就不同 了,我们的工具是软件,我们的产出也是软件,我们的所依赖的一切都是软件,只要自己愿意投入心力,随时可以修改每天使用的工具 和系统让自己更有效率的工作。

这一点可以说是程式设计师的先天优势,也是顶尖的程式设计师和普通程式设计师的生产力差距的关键。

2. 大型工具包括哪些方面

2.1. ide

2.2. dsl

2.3. .frmwk、、lib

2.4. 模块化soa

作者:: 老哇的爪子 Attilax 艾龙,  EMAIL:1466519819@qq.com

转载请注明来源: http://blog.csdn.net/attilax

3. Eat Our Own Dog Food

一家公司应该要在内部用自己的产品解决自身的问题,才能发现真正的问题,并且说服人这东西真的很实用

4. 每样小工具只做一件事

UNIX可以说是一个非常适合程式设计师工作的天堂,UNIX的工作哲学(泛指所有UNIX like的系统,像是Linux、BSD、Mac OS X..等等)是提供许多小工具,每样小工具只做一件事,使用者可以合并使用多种工具完成复杂的工作。

5. 以command line/web为接口

此外,UNIX的工具都是以command line为接口,非常适合写script做自动化的操作。而在Windows的世界中则完全不同,Windows上的软件倾向于提供整合式的GUI环境, 把所有相关或可能会用到的功能全都一手包下,虽然方便使用者,可以点几个按钮就自动做完所有事情,但对于程式设计师来说其实不是一件好事。

windows的也能gui接口了...

参考

追求神乎其技的程式设计之道(十) _ vgod's blog.htm

atitit.提升软件开发的生产力关健点-------大型开发工具最关健的更多相关文章

  1. atitit.提升软件开发的效率and 质量的那些强大概念and方法总结

    atitit.提升软件开发的效率and 质量的那些强大概念and方法总结 1. 主流编程中三个最糟糕的问题 1 1.1. 从理解问题后到实现的时间很长 1 1.2. 理解和维护代码  2 1.3. 学 ...

  2. Atitit. 提升软件开发效率and 开发质量---java 实现dsl 4gl 的本质and 精髓 O725

    Atitit. 提升软件开发效率and 开发质量---java 实现dsl 4gl 的本质and 精髓  O725 1. DSL主要分为三类:外部DSL.内部DSL,以及语言工作台. 1 2. DSL ...

  3. atitit.提升软件开发效率大的总结O5

    atitit.提升软件开发效率大的总结O5 #---平台化.组件化 1 #--cbb公用模块的建设 1 #---内部最佳流程方法跟实践的总结 2 #---内部知识体系的建设 2 #---问题Qa库的建 ...

  4. Atitit.提升软件稳定性---基于数据库实现的持久化 循环队列 环形队列

    Atitit.提升软件稳定性---基于数据库实现的持久化  循环队列 环形队列 1. 前言::选型(马) 1 2. 实现java.util.queue接口 1 3. 当前指针的2个实现方式 1 1.1 ...

  5. Atitit.提升软件Web应用程序 app性能的方法原理 h5 js java c# php python android .net

    Atitit.提升软件Web应用程序 app性能的方法原理 h5 js java c# php python android .net 1. 提升单例有能力的1 2. 减少工作数量2 2.1. 减少距 ...

  6. Atitit. 提升开发效率与质量DSL ( 3) ----实现DSL的方式总结

    Atitit. 提升开发效率与质量DSL ( 3) ----实现DSL的方式总结 1. 管道抽象 1 2. 层次结构抽象(json,xml etc) 1 3. 异步抽象promise 1 4. Ide ...

  7. atitit.提升开发效率---MDA 软件开发方式的革命(3)----自动化建表

    atitit.提升开发效率---MDA 软件开发方式的革命(3)----自动化建表 1. 建模在后自动建表 1 1. 传统上,需要首先建表,在业务编码.. 1 2. 模型驱动建表---更多简化法是在建 ...

  8. atitit.提升开发效率---mda 软件开发方式的革命--(2)

    atitit.提升开发效率---mda 软件开发方式的革命--(2) 1. 一个完整的MDA规范包含: 1 2. 一个完整的MDA应用程序包含: 1 3. MDA能够带来的最大的三个好处是什么? 2 ...

  9. atitit.提升开发效率---mda 软件开发方式的革命

    atitit.提升开发效率---mda 软件开发方式的革命 1. 软件开发方式的革命开发工具的抽象层次将再次提升 1 2. 应用框架和其实现相分离 2 3. 目前的问题模型和代码不同步 2 4. MD ...

随机推荐

  1. Eclipse NDK 配置,不用安装Cygwin

    一.关于NDK:NDK全称:Native Development Kit.1.NDK是一系列工具的集合.NDK提供了一系列的工具,帮助开发者快速开发C(或C++)的动态库,并能自动将so和java应用 ...

  2. 嵌入式Linux开发

    嵌入式Linux的开发和研究是Linux领域研究的一个热点,目前已开发成功的嵌入式系统有一半以上都是Linux.Linux到底有什么优势,使之取得如此辉煌的成绩呢?本文分为两大部分:Linux的优点. ...

  3. 用C#调用Windows API向指定窗口发送按键消息 z

    用C#调用Windows API向指定窗口发送 一.调用Windows API. C#下调用Windows API方法如下: 1.引入命名空间:using System.Runtime.Interop ...

  4. 用C语言实现面向对象的开发

    C语言的对象化模型 面向对象的特征主要包括: .封装,隐藏内部实现 .继承,复用现有代码 .多态,改写对象行为 采用C语言实现的关键是如何运用C语言本身的特性来实现上述面向对象的特征. 1.1 封装 ...

  5. 如何判断linux使用的是HDD还是SSD、HHD;磁盘阵列RAID

    硬盘种类:SSD固态硬盘.HDD机械硬盘.HHD混合硬盘(里面既有机械硬盘也有固态硬盘,固态硬盘用来高速缓存,机械硬盘用来存储). HHD是机械硬盘和固态硬盘的结合体.我们可以理解为其就是两块硬盘,固 ...

  6. DICOM:DICOM三大开源库对比分析之“数据加载”

    背景: 上一篇博文DICOM:DICOM万能编辑工具之Sante DICOM Editor介绍了DICOM万能编辑工具,在日常使用过程中发现,“只要Sante DICOM Editor打不开的数据,基 ...

  7. 如何修改Git commit的信息

    原文地址: http://xiguada.org/change-git-commit-message   Git cimmit信息push后,如何修改,amend可以修改最后一次commit信息,但对 ...

  8. /etc/vsftpd.conf配置(ftp上传)

    # Example config file /etc/vsftpd.conf## The default compiled in settings are fairly paranoid. This ...

  9. [React] Ensure all React useEffect Effects Run Synchronously in Tests with react-testing-library

    Thanks to react-testing-library our tests are free of implementation details, so when we refactor co ...

  10. ! Undefined control sequence. \CJK@XXX ...endcsname {`#2}{`#3}\CJK@ignorespaces \fi l.43 \end{document}

    错误的原因是:你的文本内容超过了一页,需要增加新的一页. 解决问题的方法就是在\end{CJK}或者\end{CJK*}之前加入\newpage,\clearpage或者\cleardoublepag ...