用户1340774522
转发了
@有个梨UGlee
的微博:
很多开发者喜欢N多个大屏幕,推断功能极强的IDE,和带断点调试的debugger。
Linus Torvalds只用两个屏幕,或者一个大屏幕的两个窗口,一个源码,一个输出,常年使用一个自己Fork的emacs,坚持认为Linux Kernel不需要debugger,console print是足够的。
你要写很多年的代码才会明白这是为什么。
并不是Torvalds先生古板,而是开发者经常为一种虚假的效率欢呼。
当你需要三个屏幕6个窗口看源码时,当你需要IDE为你推断时,或者当你需要fire debug命令才能知道what's going on时,你面对的这个系统,你已经不是真的全面理解它了;或者你只理解其中的局部,但不知道组合起来在发生什么事。
一个你不理解的东西,你的任务是让他工作,这听起来就很危险。
当然内核里可能没太多好办法,因为它只能用C语言写;但是在系统和应用层面,人类过去二十年的白盒工程方法,让依赖关系的泛滥,是软件工程的敌人。你看着那些程序员在忙忙碌碌,但是大部分时间他们解决的不是用户的问题,而是自己或者同伴制造的问题。这样的程序员比比皆是,他们能留在团队里只是因为老板不懂编程。
使用很多的屏幕看代码 -- 逻辑范围波及太广了,差劲的设计!
使用IDE -- 静态结构太复杂了,你在使用太多语言中不好的特性!
最后我们说说debugger vs print.
如果你只有print,这是你唯一的外部方式去观察你的程序工作正确与否,你就不会选择那些非常难以通过print去证明其正确性的设计;这意味着你的设计在接口角度看,更容易证明其符合设计要求。
Less is more,真的,你不可能让一个你不理解或者无法hold住的程序工作正确。
请承认这一点。
原文转发[371]
原文评论[71]
转发理由:
//
@有的没的维德夫
:扯淡吧,十年前业内写test的比现在多的多。现在都是撞大运编程。//
@有个梨UGlee
:最近十年软件行业的最大进步就是普遍要求测试套件,而且对测试套件的质量要求越来越高。//
@raof01幺永闹子
:我见过多数开发者是靠debugger来编程的。有时候矫枉确实会过正//
@韦恩卑鄙
:回复
@老毒师
:
2018-06-09 22:45:25
举报
收藏
操作
转发[2]
评论
赞[0]
转发理由只显示前140字
引用
用户1340774522
的转发理由://@有的没的维德夫:扯淡吧,十年前业内写te...
同时作为给有个梨UGlee的评论发布.
同时作为给用户1340774522的评论发布.
Oh_highway_star
://
@韦恩卑鄙
:可能十年前撞大运的人十年内进入业内了//
@exHFer_顺子
: //
@有的没的维德夫
:扯淡吧,十年前业内写test的比现在多的多。现在都是撞大运编程。//
@有个梨UGlee
:最近十年软件行业的最大进步就是普遍要求测试套件,而且对测试套件的质量要求越来越高。//
@raof01幺永闹子
:我见过多数开发者是
赞[0]
2018-06-10 00:57:07 来自微博国际版
韦恩卑鄙
:可能十年前撞大运的人十年内进入业内了//
@exHFer_顺子
: //
@有的没的维德夫
:扯淡吧,十年前业内写test的比现在多的多。现在都是撞大运编程。//
@有个梨UGlee
:最近十年软件行业的最大进步就是普遍要求测试套件,而且对测试套件的质量要求越来越高。//
@raof01幺永闹子
:我见过多数开发者是靠debugger来编程
赞[2]
2018-06-09 23:46:55 来自微博 weibo.com