速度对写代码的那个程序员很重要。
在公司工作,有项目经理和开发经理检查每个程序员的进度。生产力太低会给领导产生不良印象。
我承认这个“生产力”只是印象而已,和项目的实际进度关系不大。但事实就是大多数人就吃这套,在按时完成工作的前提下表演一些输入代码的魔术,会获得领导的另眼相看。
例如上级要求经理和我一起在周末加班完成一个小功能或修掉一个bug。提前一点点时间完成工作,让经理也可以比预期早一点回家,就会对我有好感。或者至少通过秀键盘操作,表现得很高效工作的样子。无非就是在正确的时间和地点建立个人正面形像而已。
为自己的项目写代码。一个简单功能要花太多时间的话,你就缺少动力完成产品原型而中途放弃。也许成为下一个马云的机会就这么错失了。
现在让我正面回答这个问题,高级程序员充分利用了编辑器和IDE中的先进功能,也可以自由组合运用第三方的命令行工具。必要的话可以自己写一些工具。
这个过程也是动态的,编辑器/IDE/命令行工具都在不断的进步中。例如VSCode在2017年使用rust写的ripgrep作为自己的查找替换工具的后端引擎,可以把速度提高40到60倍。
高级程序员可以使用编辑器和IDE的自动完成功能,避免手动输入代码的错误。除了intellisense之外,还有很多其他自动完成功能可以同时启用。比如自动完成行,自动完成文件路径,搜索所有打开的文件自动完成词等等。某些程序员不用这些功能并不等于它们不存在或者不重要。
自动完成某个特定的子功能如自动完成行,也有很多文章可做。比如可以搜索整个项目的代码来自动完成行。可以完成单行也可以完成多行。搜索匹配行如果可能的话用速度更快的git grep或者ripgrep来做。 匹配关键字的提取也需要智能的算法。可以参考我写的Emacs 插件 redguardtoo/eacl
如果你在一个项目中的代码的commit实现了一个不错的特性,同事在另一个项目中也希望使用。或者你的commit可能有bug,希望在另一个沙盒环境里重现。那么可以用命令行程序patch来把commit重新apply到新环境。注意有的项目不用git(我碰到过公司使用perforce的),或者沙盒环境根本没有版本控制(例如某个bug只在proction服务器才能重现,老板复制了服务器供你调试,但绝对禁止在其上安装新软件)。所以只有patch可用,否则只有手动对比输入代码。
现代的编程环境都集成了可拓展的编译器或者语法解析器供你使用。VSCode的typescript ( medium.com/inside-rimet)。babel也可以自己写plugin。Emacs中的js2-mode. 比如在javascript项目中给某个模块中的所有函数加上打印函数名和函数参数的代码,可以写babel plugin来实现(10行代码而已)。
以上这些技巧都是举例说明。只是沧海一粟而已。如何提高编程速度 获得更多这方面的知识
题外话:
很多人可能对好莱坞电影描写的黑客程序员有所误解。肯定有一些艺术夸张,但是好莱坞的导演未必不了解程序员是怎么工作的。只不过他们接触更多的是Unix 程序员。
我以前在柯达娱乐影像部门工作,就是为好莱坞开发视频非线性处理软件。由于历史原因,这些软件跑在Unix工作站上(后来慢慢迁移到Linux)。软件的用户需要自己写脚本来处理视频。导演就是拿视频处理的电脑拍了几个镜头而已。
“没有调查就没有发言权”,你不知道好莱坞导演最早接触的都是Linux/Unix用户,所以你以为他们描写的那种程序员根本就不存在。
㈡ C语言编程 键盘移动麻烦,大牛们是怎样打字的
如果是单纯的C编写的话, 可以试试VI/VIM编辑器。
虽然学起来复杂了一点,但是学通了, 用起来那那是很顺畅的。
它的移动键是在普通模式的HJKL这四个键。
工欲善其身,必先利其器。
最后祝你编程愉快。
---危机忧虑拯救团 敬上 望采纳