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:[email protected]

转载请注明来源: 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

时间: 2024-10-08 11:03:28

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

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

Atitit. 提升软件开发效率and 开发质量---java 实现dsl 4gl 的本质and 精髓  O725 1. DSL主要分为三类:外部DSL.内部DSL,以及语言工作台. 1 2. DSL规则 2 2.1. DSL = 整洁的代码 2 2.2. DSL必须以文本代码的形式出现 2 2.3. DSL的语法应该尽可能地接近英语或者其他自然语言 2 3. DSL 文本形式 or 图形标识 2 4. 实现方式 2 4.1. 2. 管道抽象 2 4.2. 3. 层次结构抽象 3 4.3. 4.

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

atitit.提升软件开发的效率and 质量的那些强大概念and方法总结 1. 主流编程中三个最糟糕的问题 1 1.1. 从理解问题后到实现的时间很长 1 1.2. 理解和维护代码  2 1.3. 学习曲线高  2 1.4. 扩展性烂 2 1. Coc 2 2. Dsl 2 3. DSM 3 4. 4gl 3 5. 产生式编程(Generative Programming,GP) 3 5.1. 为重用而开发以及使用重用的开发 3 6. 在模型驱动开发(MDD)介绍MDA 4 7. ·  元编程

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

Atitit.提升软件稳定性---基于数据库实现的持久化  循环队列 环形队列 1. 前言::选型(马) 1 2. 实现java.util.queue接口 1 3. 当前指针的2个实现方式 1 1.1. 用一个游标last 来指示 (指针表字段last ),麻烦的,不推荐 1 1.2. (简单,推荐)使用循环次数来指示,每循环加1   (字段cirTimes),order by cirtimes 1 4. 表格设计id, cirTimes,createtime,handlerID,recID,d

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

#---平台化.组件化 1 #--cbb公用模块的建设 1 #---内部最佳流程方法跟实践的总结 2 #---内部知识体系的建设 2 #---问题Qa库的建设. 2 #---内部框架/标准类库/api/业务库的建设... 2 #----开发工具集和配置的建设.... 2 #---代码生成跟代码转换工具的集合,互操作等 3 #----经常关注开发语言,类库,框架,工具的新特性,补充到我们的内部框架里面.固化下来. 3 #---代码输入法 3 #----热部署热更新 3 #----DSL & 4gl

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

1. 提升单例有能力的1 2. 减少工作数量2 2.1. 减少距离2 2.2. 添加索引2 2.3. Dma api2 2.4. Cdn2 2.5. Cache2 2.6. Pool技术2 2.7. 减少HTTP请求数2 2.8.  ·更大的数据格式2 2.9. 循环展开2 2.10. 循环转置3 2.11. 提高Cache命中率3 2.12. 小组件替换大组件4 3. 并行处理4 3.1. 多线程4 3.2. 数据库分区4 4. 减少等候4 4.1.  2.流水线(Pipeline)4 4.2

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

Atitit. 提升开发效率与质量DSL ( 3) ----实现DSL的方式总结 1. 管道抽象 1 2. 层次结构抽象(json,xml etc) 1 3. 异步抽象promise 1 4. Ide  code templete 1 5. 方法链( 流接口.??管道抽象??) 1 6. static factory method)和import 1 7. varargs 1 8. 元编程(anno??) 1 9. 易读API 1 10. 方法链 1 11. 功能序列 1 12. 嵌套函数 2

atitit.提升开发效率---MDA 软件开发方式的革命(4)----编辑表单建模

atitit.提升开发效率---MDA 软件开发方式的革命(4)----编辑表单建模 1. 建模语言的选型anno+html...不是uml 1 2. 指定显示模板 @BeanEditForm(tmplt="c:/edit.html") 1 3. 配置属性的@Property(lable="xxx")显示 2 4. 配置属性的显示控件方式@DataType(value=DataTypeConstants.select,datasource="c:/cate

atitit.提升开发效率---MDA 软件开发方式的革命(5)----列表查询建模

atitit.提升开发效率---MDA 软件开发方式的革命(5)----列表查询建模 1. 配置条件字段@Conditional 1 2. 配置条件字段显示类型为[email protected](displayType = displayType.rang, rangStart = rang.start, rangEnd = rang.end,op=op.range) 1 3. 自定义@Adapter (UI2whereExpress) 2 4. 条件字段排序@ConditionFieldCf

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

atitit.提升开发效率---mda 软件开发方式的革命--(2) 1. 一个完整的MDA规范包括: 1 2. 一个完整的MDA应用程序包括: 1 3. MDA可以带来的最大的三个优点是什么? 2 4. 三大MDA工具 2 5. 代码补充 3 6. Mda的问题 3 7. EMF与MDA 4 8. MDA跟代码自己主动生成的差别 4 9. openMDX-开源MDA平台 5 10. openMDX 的开发过程 5 11. MDA的两种实现 5 12. 參考 6 1.  一个完整的MDA规范包括