拆烂污
|
在大厂写代码有一种现象,活都干完了,东西也都能work,但是质量不怎么好,以后要修改的时候非常麻烦。其实只要再稍微多花些精力,就可以把质量搞上去,把维护成本降下来,因为质量低其实都是一些小细节没有做好,也不是什么太难的事情。愿意精益求精的人不多,几乎是所有大厂的普遍现象,我看大概有这么几个原因。第一
CRUD
晚上睡不着,起来打点字。最近我有一个非常深刻,非常深刻,非常深刻,可以说是基本哲学上的learning。程序员老说自己天天CRUD,拧螺丝工程师,但是程序员真的吃透了CRUD了吗,我最近在这上面连续翻了两次跟头。我们都知道,或者都喜欢immutable,最好一个东西创建出来就不要改了。为什么呢,因为
不要优化,不要优化,不要优化
计算机界的泰斗唐纳德说过:过早的优化是万恶之源。这句话有两层意思。第一层意思是,比如说当你看到一个100ms的函数你可以把它优化成50ms的时候,此时你就要先抑制一下冲动。如果100ms用户使用起来也没什么问题,那为啥一定要优化成50ms呢?如果只是一个小改动那也就无所谓,但如果这个是要改很多地方呢
做完了
|
我其实很怕别人跟我说“做完了”这三个字。每当别人跟我说“做完了”,我心里难免咯噔一下,这事十有八九并没有他想象的那么简单。码农的世界里,很少有东西是可以干净的做完的,因为要不停的维护。维护的开销占了整个软件开销的80%。作为一个专业码农,我对写代码这个事情是充满敬畏的,因为我深知这事情很可能永远没的
中国人都喜欢统一
我发现中国人都喜欢统一。统一的思想已经深深的印在了中国人的基本思维模式里。比如说设计一个接口,哎我能不能用一个接口让所有的客户都用这个,甚至这个接口也能承载不同的业务,这样一个接口就可以管所有的了。用户使用这个接口看似不需要学习,看似成本最低。只有一个接口,一个接口统一一切,这个就是中国人骨子里的统
测试代码与生产代码的矛盾
|
我们码农除了写代码以外,还要对代码写单元测试来进行测试。但是我们往往写好了代码,却发现这代码没办法写测试了。最大的问题是,往往没有很有效的办法对代码中的对象进行mock,因为那个地方是在函数里面的代码行,它mock不了。我举个例子,有一个函数,里面会new出来一个类的对象,这个对象会访问外部系统,所
编程属于文科
|
我一直认为编程属于文科。为什么呢,你看做一个项目是不是要考虑各种东西,是不是要和各种人打交道,是不是需要不停的想还缺了哪些东西,写code是不是和写文章一样,得考虑结构,得考虑段落,得考虑名字怎么样起的更好,得考虑怎么样别人才能看的更爽,而不是别人看了以后在心里暗骂垃圾code/垃圾文章。那么我们上
public vs internal
|
我们写C# code一般都是public或者private,但是其实还有internal,internal其实非常好用。第一个是你写的method想不想让别的project能看到呢,如果不想的话那么就要用internal。当然一般情况下全部写public也不是不可以,但是如果能仔细考虑可见性的问题,