一般程序员都是习惯按Ctrl+S进行保存,有时候看网页看着看着就Ctrl+S一下,之后突然反应过来不对。如果是Web开发人员,F5和ctrl+F5强制刷新以及F12更是家常便饭了。看到错误代码就想改,看到代码就想仔细瞧。喜欢1024,喜欢用十六进制,喜欢整齐的代码。看到bug就想改。即使不是自己的bug。还喜欢找bug,看到登录框就想试试能不能SQL注入,有时候还会抓包或者发假包。例如:改一个 bug 时,看了一眼代码:嗯,重用率不高啊,重构一下。重构的时候发现,有两处类似的功能调用的是不同的接口啊,应该有一个是后来添加的,但是有些功能下线以后就没必要单独保留。把那两个接口统一成一个好了。这里的 coding style 不够正统啊,改一下。命名不 consistent 啊,改一下。把调用到它们的地方也相应地改一下。数天后,工头问我:bug 修好了吗,我想起来:对喔,我最初是来修那个 bug 的,就像是本来只 Google 某个术语,结果不慎沉淫 Wikipedia 几个小时后,不知道自己是怎么到的这个页面,那个样子的感觉。乘电梯的时候看着电梯的按钮面板(UI)常常会开始思考电梯的调度算法,然后仔细一想好像状态挺多的,多个实例之间状态可以互相影响,还涉及到一些优先级、加速度、预判方面的东西,仔细想想其实挺复杂的,然后还没等到出电梯就放弃了。然后不知道哪次坐又会望着面板开始想。
当你把【代码清洁】当作目的时,就是恶习了。为什么会存在代码洁癖,究其根本,是我们对“维护代码”这种让人抓狂的事情的实际需求,让我们越来越注意到清洁的重要。比如说 1 == a 这个,如果从来没有把 a == 1 写错成过 a = 1 导致你调式很长时间过,恐怕这个人能难把这个纳入到他的洁癖范畴内,即使他对空格的使用要求近乎苛刻。在我的圈子里面,一直有很多搞单片机的的。这些人主业是做电子甚至是机械的,当需要一个控制器的时候,会用单片机写一些非常小的程序来实现控制。我发现在这个圈子里面,就几乎没有代码洁癖的人,别说洁癖了,代码的基本清洁都看不到,即使这个人在做电路板的时候一板一眼。为什么?因为没有需求,代码本身长度都很小,而且都是写过无数遍的基本套路,甚至大段大段的代码都是用辅助工具直接生成的;这些代码对他们来说,多乱都很难写错,并切,最重要的,这些代码几乎都不需要维护,因为功能简单,程序就是可以做到没有BUG,需要升级的时候也很少。混乱的代码,于他们的工作效率,几乎没有什么影响;相反,由于开发环境难以想象的简陋,整理代码会浪费他们大量时间。既然代码洁癖是由需求引起的,那么我们来反思一个问题:我们做的和我们需要的一致么?其实问题问出来的时候,相信大家有答案了,既然用到了“洁癖”,肯定代表“做多了”,《编程之道》这本故事书里面有个有趣的小故事:一个初学者被要求编写一个财务软件。他疯狂地工作了很多天,但他的主管检视他的程序时发现,它写了一个编辑嚣,一个图形程序集,和人工智能的界面,但是看不到任何跟财务有关的东西。主管要求解释时,程序员被激怒了:你太没耐心了,我会在最后写财务的部分。这就是一个典型程序员在干的事情,所有的优秀程序员都要经历这样的阶段,过度设计、过度优化、过度使用技巧等等等等,因为我们就是这样的群体,对这些的追求就是我们学习编程提高自己的动力,所以我们必然会经历这样的事情
在写页面时,对于超长布局的页面,突然发现ios可以正常滚动,而安卓滚动不了,检查发现页面css加了touch-action属性,导致安卓页面无法滚动。touch-action是为了解决页面连续点击Chrome浏览器报错加的(程序员的强迫症,其实这个报错是不影响的,还是加上了),为了能让安卓滚动,又去掉了,具体什么原理还没研究清楚,有知道的小伙伴可以一起讨论一下
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)