如何写单元测试
如何写单元测试
|
二话不说,先上结论王道:测试代码的优雅和产品代码的优雅,两者一般不可得兼,舍测试代码的优雅而取产品代码的优雅,方为王道。然后给出全球唯一的参考书籍,因为市面上讲怎么写测试代码的书,应该只有这一本权威。然而,尽信书不如无书,这本里讲的都是到了万不得已的时候,不得已而为之的手段。如果还有更简单的手段,千
我的面试观
我的面试观
|
又到了大规模面试的季节,又到了虐学生狗的日子。。。面试,对于面试官而言,其实是一个绝佳的学习机会。可以看看别人怎么写code,听听别人的思路,多面试面试别人,也能提高自己的沟通能力和EQ,说不定技术也会有所提高呢。毕竟长江后浪推前浪,前浪死在沙滩上,一浪更比一浪浪。。。面试的目的是选出人才,或者说是
真正的程序员不需要Data Driven
真正的程序员不需要Data Driven
|
最近几个月我总是听到Data Driven这个词,大家总是经常把它挂在嘴边。然而我感觉并没有人真正的仔细思考过这到底指的是什么意思。首先,Data Driven这个词本身的含义非常的模糊。很多人总是认为在做一件事之前我先通过一些手段collect一些data,证明我的想法或者design是正确的之后
几种不OO的设计
几种不OO的设计
|
OO大法虽好,但即便是在MS这样的公司,也不是每个人都能理解的很深刻的,俗话说,过犹不及。有些脑洞大开的framework,初看不错,各种用法都很一致,但因过度抽象导致对debug十分不利。这里总结几种不OO或者过度OO的设计,其实过度OO就等于不OO:所有的Constants都在同一个文件里定义。
MVVM的优劣
MVVM的优劣
|
MVVM,也就是传说中的Model,ViewModel,View结构。自AngularJS开始大红大紫。自MVC横空出世以来,对MVC的改进一直都没有停止过,MVC2, MVP, MVVM都号称是对MVC的改进,但其实MVC真的有什么问题要改进吗?MVC本身其实并没有什么缺陷,只不过是针对不同的应用
持续集成的最高境界
持续集成的最高境界
|
持续集成大家都不陌生,说的是代码check in之后(或之前)自动化做build和执行测试,这件事情为什么如此重要呢,是因为你local的代码直到check in,build和test之后才会发现问题。那么持续集成的粒度就是一个问题了,如果每次check in都做一全套,那么这样粒度最细,能最快速的
技术路线还是管理路线?
技术路线还是管理路线?
|
一般在IT公司,都有两条晋级路线,技术路线和管理路线。一般说来,技术路线那就是从工程师到高级工程师到主任工程师到资深工程师到CTO。管理路线那就是从PM到高级PM到主任PM到资深PM到CEO。然而,我却不这样认为,我认为这样子分法其实没什么道理。在我看来其实并没有什么2条路线,只有一条路那就是晋级之
软件测试工程师,一个即将消失的职位
软件测试工程师,一个即将消失的职位
|
很多年以来,软件测试一直是一个地位尴尬的职位。作为软件测试工程师,他是企业产品质量的最后一道防线,不共戴天的敌人是软件开发工程师,因为他必须不停的在软件开发工程师发现的代码中找bug,经常会听到在软件测试工程师和软件开发工程师之间的撕逼:“你这个功能实现的不对”,“不对是你自己的理解有问题,这功能绝
最有前(钱)途的编程语言
最有前(钱)途的编程语言
|
今天跟大家来聊聊编程语言,大家都知道PHP是传说中世界上最好的编程语言(笑),当然此话也并非空穴来风,目前学校里都不教PHP,PHP又被其他语言鄙视,而市场上却正好奇缺PHP人才,PHP本身又十分容易学,所以很多PHP程序员都在闷声发大财呢,你们C++搞的再熟又能赚的过人家PHP吗?(笑)当然,今天
何谓工匠精神
何谓工匠精神
|
何谓工匠精神,或者说所谓的匠心到底为何物呢?很多人都以为把事情做到完美就是工匠精神了,但是事实上能利用的资源总是有限的,在有限的时间和资源下,完美经常是无法达成的。所以,我认为所谓的工匠精神就是在有限的时间和资源下,把事情尽可能做到最优的一种追求,通俗的讲也就是追求极致的性价比。比方说,你要组装一台