IDE有毒
程序员按项目性质大致有三种:写Demo的、写Proto的、写成品的;按项目开发周期大致有:写开头的、写中间的、写结尾的。
- Demo是样品,主要是表面上初步实现,临时忽悠客户用的,不一定要求继续演化;
- Proto是原型,主要是从概念上实现,可能包含了对于底层框架的选型,能逐步演化为成品;在一些场景中Demo和Proto的意义接近;
- 成品即完整实现的产品,满足用户实际业务场景。
大多数培训学校教出来的孩子,一开始写出来的东西最多只能叫Demo,根本达不到Product的阶段。那些外包公司做出来的东西,能算哪一类呢?
而所谓写开头的,就是项目刚开始、还可以很自由的选择熟悉的或者Big高的框架来点垃圾代码;写中间的,就是业务高速发展、不管代码质量好坏、没时间吃药的写代码;写结尾的,就是项目进入萎缩期,留一个人在那打扫打扫灰尘、整天吐槽代码的状态。
IDE有毒这个主题,其实与上面的话题无关,主要是感叹于程序开发工具发展到如今,依然有明显的两极分化:Editor和IDE。
我毫无挑起争吵的意愿。在接触规模化开发之前的N年时间内,我折腾过市面上几乎所有的Editor(这里就不提所谓编辑器之神和神之编辑器了),尤其是jEdit,修复过它的一些bug、给它写过语言mode,也算是为开源世界贡献过微力的。但后来团队项目中,由于使用的多数是动态类型语言,用编辑器实在是效率太低,才开始选择IDE。
我个人的习惯是小的脚本或者一些配置文件修改可以用Editor,但团队协作开发的项目代码量都会积累到比较大型的状态,就必须用IDE了。一些Editor可以做到快速启动、内存占用少、快速编码、自由扩展特性,这是很多人选择Editor的理由;相应的,IDE能智能感知代码、错误提示、项目管理、任务管理、VCS等各种集成,是另一部分人选择的理由。
IDE对于多数程序员来说是有毒的,因为你用了就会上瘾,用久了更是毒入骨髓。Editor则往往可以为它编写各种扩展或插件,那种参与的过程会让人有种莫名的满足感。
在公司内部团队环境,IDE是一般最优的选择。Editor则可以作为业余另一种体验的选择。当然,这只是提议,不是强制规定。在保证开发效率的情况下,允许大家有自己的选择。
IDE有毒的更多相关文章
- 微信应用号(小程序)开发IDE配置(第一篇)
2016年9月22日凌晨,微信宣布“小程序”问世,当然只是开始内测了,微信公众平台对200个服务号发送了小程序内测邀请.那么什么是“小程序”呢,来看微信之父怎么说 看完之后,相信大家大概都有些明白了吧 ...
- 使用 .NET WinForm 开发所见即所得的 IDE 开发环境,实现不写代码直接生成应用程序
直接切入正题,这是我09年到11年左右业余时间编写的项目,最初的想法很简单,做一个能拖拖拽拽就直接生成应用程序的工具,不用写代码,把能想到的业务操作全部封装起来,通过配置的方式把这些业务操作组织起来运 ...
- 微信小程序IDE(微信web开发者工具)安装、破解手册
1.IDE下载 微信web开发者工具,本人是用的windows 10 x64系统,用到以下两个版本的IDE安装工具与一个破解工具包: wechat_web_devtools_0.7.0_x64.exe ...
- Mac OS X 上编写 ASP.NET vNext (二) IDE配置
上一篇中介绍了如何在OS X上搭建.Net运行时.不过光有运行时还不够,还需要有一个好用的IDE,有了IDE的支持,OS X上的开发才称为可能. 和上篇类似,这里先列举出具体步骤,个人可以根据自己的情 ...
- 感悟 GNU C 以及将 Vim 打造成 C/C++ 的半自动化 IDE
C 语言在 Linux 系统中的重要性自然是无与伦比.不可替代,所以我写 Linux 江湖系列不可能不提 C 语言.C 语言是我的启蒙语言,感谢 C 语言带领我进入了程序世界.虽然现在不靠它吃饭,但是 ...
- Java 开发主流 IDE 环境体验
前言 本来应该继续从 Oracle 官网搬砖的,但是随着示例代码越来越复杂,涉及的类库越来越多,使用 Vim 写 Java 代码就很力不从心了,是时候上 IDE 了.我最熟悉的 IDE 环境是 Ecl ...
- [Intel Edison开发板] 03、Edison开发IDE入门及跑官方提供的DEMO
一.启动Eclipse爱迪生开发板IDE eclipse开发环境在iss-iot-win_03-14-16中,但是一定每次都是点bat脚本启动,否则就会少东西(windows->preferen ...
- 微信小程序(微信应用号)开发ide安装解决方法
这两天整个技术圈都炸锅了,微信小程序(微信应用号)发布内测,首批200家收到邀请,但是没受邀请的同学,也不用担心,下面介绍一下解决方法. 首先需要下载ide,昨天只需要下载0.9版本的编辑器并替换文件 ...
- Atitit.ide技术原理与实践attilax总结
Atitit.ide技术原理与实践attilax总结 1.1. 语法着色1 1.2. 智能提示1 1.3. 类成员outline..func list1 1.4. 类型推导(type inferenc ...
随机推荐
- Linux 配置YUM
标签:MYSQL/linux 概述 文章主要介绍配置163,mysql,epel这三个yum源. 目录 概述 步骤 下载安装包 卸载自带的yum 安装yum包 添加yum 总结 步骤 安装163源 注 ...
- 小型单文件NoSQL数据库SharpFileDB初步实现
小型单文件NoSQL数据库SharpFileDB初步实现 我不是数据库方面的专家,不过还是想做一个小型的数据库,算是一种通过mission impossible进行学习锻炼的方式.我知道这是自不量力, ...
- C语言 · 2的次幂表示
问题描述 任何一个正整数都可以用2进制表示,例如:137的2进制表示为10001001. 将这种2进制表示写成2的次幂的和的形式,令次幂高的排在前面,可得到如下表达式:137=2^7+2^3+2^0 ...
- Service基础使用
Service基础使用 之前的文章一直介绍Activity的使用,很多知识和用法单一的配合Activity使用,这次将总结Android四大组件之二--Service. 本文将要介绍以下内容: Ser ...
- windows命令——taskmgr 1
taskmgr.exe用于任务管理器.它显示系统中正在运行的进程. 该程序使用Ctrl+Alt+Del(一般是弹出Windows安全再点击“任务管理器”)或者Ctrl+Shift+Esc 有时候需要, ...
- HTML5_01之表单新特性
1.WebStorm快捷键: Ctrl+Alt+(向下方向键):快速复制当前行 Alt+(向上/下方向键):移动当前行 Ctrl+D:删除当前行 Ctrl+/:快速(取消)注释当前行 Ctrl+Alt ...
- The replication agent has not logged a progress message in 10 minutes.
打开Replication Monitor,在Subscription Watch List Tab中,发现有大量的status= “Performance critical” 的黄色Warning, ...
- 前端学PHP之字符串函数
× 目录 [1]特点 [2]输出 [3]空格[4]大小写[5]HTML[6]格式化[7]比较 前面的话 字符串的处理和分析在任何编程语言中都是一个重要的基础,往往是简单而重要的.信息的分类.解析.存储 ...
- dev c++ Boost库的安装
dev c++ 的boost库的安装步骤 然后点击“check for updates”按钮 最后点击“Download selected”按钮,下载完成后安装.... 给dev添加boost库文件, ...
- JavaScript跨域调用、JSONP、CORS与ASP.NET Web API[共8篇]
[第1篇] 同源策略与JSONP 浏览器是访问Internet的工具,也是客户端应用的宿主,它为客户端应用提供一个寄宿和运行的环境.而这里所说的应用,基本是指在浏览器中执行的客户端JavaScript ...