atitit.提升软件开发的生产力关健点-------大型开发工具最关健
atitit.提升软件开发的生产力关健点-------大型开发工具最关健
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.提升软件开发的生产力关健点-------大型开发工具最关健的更多相关文章
- atitit.提升软件开发的效率and 质量的那些强大概念and方法总结
atitit.提升软件开发的效率and 质量的那些强大概念and方法总结 1. 主流编程中三个最糟糕的问题 1 1.1. 从理解问题后到实现的时间很长 1 1.2. 理解和维护代码 2 1.3. 学 ...
- Atitit. 提升软件开发效率and 开发质量---java 实现dsl 4gl 的本质and 精髓 O725
Atitit. 提升软件开发效率and 开发质量---java 实现dsl 4gl 的本质and 精髓 O725 1. DSL主要分为三类:外部DSL.内部DSL,以及语言工作台. 1 2. DSL ...
- atitit.提升软件开发效率大的总结O5
atitit.提升软件开发效率大的总结O5 #---平台化.组件化 1 #--cbb公用模块的建设 1 #---内部最佳流程方法跟实践的总结 2 #---内部知识体系的建设 2 #---问题Qa库的建 ...
- Atitit.提升软件稳定性---基于数据库实现的持久化 循环队列 环形队列
Atitit.提升软件稳定性---基于数据库实现的持久化 循环队列 环形队列 1. 前言::选型(马) 1 2. 实现java.util.queue接口 1 3. 当前指针的2个实现方式 1 1.1 ...
- 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. 减少距 ...
- Atitit. 提升开发效率与质量DSL ( 3) ----实现DSL的方式总结
Atitit. 提升开发效率与质量DSL ( 3) ----实现DSL的方式总结 1. 管道抽象 1 2. 层次结构抽象(json,xml etc) 1 3. 异步抽象promise 1 4. Ide ...
- atitit.提升开发效率---MDA 软件开发方式的革命(3)----自动化建表
atitit.提升开发效率---MDA 软件开发方式的革命(3)----自动化建表 1. 建模在后自动建表 1 1. 传统上,需要首先建表,在业务编码.. 1 2. 模型驱动建表---更多简化法是在建 ...
- atitit.提升开发效率---mda 软件开发方式的革命--(2)
atitit.提升开发效率---mda 软件开发方式的革命--(2) 1. 一个完整的MDA规范包含: 1 2. 一个完整的MDA应用程序包含: 1 3. MDA能够带来的最大的三个好处是什么? 2 ...
- atitit.提升开发效率---mda 软件开发方式的革命
atitit.提升开发效率---mda 软件开发方式的革命 1. 软件开发方式的革命开发工具的抽象层次将再次提升 1 2. 应用框架和其实现相分离 2 3. 目前的问题模型和代码不同步 2 4. MD ...
随机推荐
- javascript函数中的匿名函数
一般写函数,我们会这样调用: function add(x, y) { return x + y; } alert(add(2, 3)); 或者这样: var add = function(x, y) ...
- Oracle经典查询案例
1.创建一个学生管理数据库,名称为student 2.最少包括一下三张表 S (SNO,SNAME)学生关系.SNO 为学号,SNAME 为姓名 C (CNO,CNAME,CTEACHER) 课程关 ...
- 解决kylin报错:java.lang.ArrayIndexOutOfBoundsException: -1
报错信息: -- ::, INFO [pool--thread-] cli.DictionaryGeneratorCLI: : Building snapshot of ENERGON_DM.DM_D ...
- go语言基础之range的用法
一.range的用法 示例1: 传统用法 package main //必须有一个main包 import "fmt" func main() { str := "abc ...
- django ORM创建数据库方法
1.指定连接pymysql(python3.x) 先配置_init_.py import pymysql pymysql.install_as_MySQLdb() 2.配置连接mysql文件信息 se ...
- Android -- 压缩与解压文件
我在做一个项目中,工程文件中有一个功能需要很多图片,图片与app一起打包下来的话有30+M,那么我们就考虑另外下载压缩包,我们将图片取出,工程就只有4+M了,哈哈哈哈,呵呵,真恐怖.那么这样就涉及到另 ...
- [Functional Programming] Monad
Before we introduce what is Monad, first let's recap what is a pointed functor: A pointed functor is ...
- [Grunt] grunt.template
/** * Created by Answer1215 on 11/15/2014. */ module.exports = function(grunt){ grunt.initConfig({ f ...
- ejs和swig对比问题之二
上一次用浏览器里面简单的进行了测试,得到的数据是swig是ejs的速度的一倍左右,这次在控制台进行测试,能够得到比较精确的数据,并加入了dot一块儿进行测试. 测试数据是一百万条记录 创建测试数据cr ...
- [笔记][Java7并发编程实战手冊]3.8 并发任务间的数据交换Exchanger
[笔记][Java7并发编程实战手冊]系列文件夹 简单介绍 Exchanger 是一个同步辅助类.用于两个并发线程之间在一个同步点进行数据交换. 同意两个线程在某一个点进行数据交换. 本章exchan ...