软件开发心得点滴记录
软件开发心得点滴记录
一见 创建日期:2013/6/27
1. 前言
自从2002年大学毕业后一直沉浸于软件开发之路,平时喜欢思考和归纳,时常会产生一点心得和想法,回想起来是一笔宝贵的财富,只可惜陆陆续续遗忘了。今天立此文章,希望从今以后可以记录下,以帮助自己不断地提升,同时也作为一种纪念。
2. 心得点滴
将心得点滴分类成若干篇:
1) 代码技巧篇
2) 架构设计篇
3) 想法篇
4) 思想篇
2.1. 代码技巧篇
2.1.1. 关于风格
2013/6/28日记录
关于代码风格,经常听人说只是风格不同,言下之意是不存在好坏之风,认为这样那样都可以,实足的好好先生。
这是谬论!真正好的风格是令人赏心悦目的,它不但规范统一,而且是一道美餐。那些虽自成一体的风格,虽然也很统一,但经常遭遇后来接手上的唾弃唾骂,原因就是换波人,新的人觉得不爽。
然而,当用心留意一些国外开源代码,会发现心被打动,除了赞美外,别无它词。原因是美与丑、好与坏,虽然有不同的标准,但是美丑之间、好坏之间定存在界线,而不是可混肴的。
记住:在抱怨他人写的代码烂的时候,不要留下把柄,让自己也成为抱怨对象,你要做的就是成为终结者。
2014/4/9
代码的严谨在于对每个细节都一丝不苟,比如不忽略任何一个函数返回值。
判断一个函数是否信号安全,就看在信号处理中调用它是否是安全。
2.2. 架构设计篇
2.2.1. 虚拟Master
暂无。
2.3. 想法篇
2.3.1. 满足用户诉求的5字金
2013/6/27日记录
对于一个产品,用户心灵上的诉求是什么?2个词5个字:简单,傻瓜化。简单就要操作步骤少,傻瓜化就是不需要记忆。
作为工程师,解决用户诉求是本职工作。面对的是一个业务繁多,需求众杂而致功能碎片化的系统,怎么来做?显然传统的方法容易顾此失彼,是否有银弹可用?
传统的向导模式不能满足简单性,原因是太啰嗦了。搜索是解决这一诉求的利器,它只需一个输入框,不但足够简单,同时也足够傻瓜化。运用搜索,用户只管说要什么,然后由系统通过智能化地列出其想要的,这里说的是个性化搜索,场景化搜索,登录是个约束,不妨在这里也引入Cookie。
2013/10/23日记录
如何管理好一个软件研发项目?
1.要有一颗管好的心,这个是主观的、没有门槛的,还不够
2.客观方面管好一个项目的前提是将项目计划制定好,如果没有好的项目计划,则心里会一锅糊,即使都在努力,但感觉上会零零碎碎,好比刚学车,对车一点感觉也没有
但做好项目计划也是有前提的,这个前提就是做好WBS(工作任务分解),这样项目组各成员才会各司其职、良性协作,否则有的人忙乎乎,有的人闲得慌,有的人打酱油,有的人觉得毫无成长,,,
而WBS也不是那么轻易可出来的,它也有前提,那就是做好系统架构设计,把模块等划分好,粒度要合适,要做到这些,就要求项目有一个好的架构师。
2.4. 思想篇
2.4.1. 色味香
2013/6/28日记录
色就是外观,味就是功能,香就是流畅的体验。
不管是产品经理,架构师,或是码农,都要有一定的鉴赏能力,并具备一定的审美观。要相信用户体验无处不在,细节决定品质。
对于一个菜,总希望它不但好吃,闻起来也爽,看起来更是流口水,也就是期待它色味香齐全,这是人追求美的本性。
对于软件开发,色味香不能仅局限于面向最终用户的产品(如浏览器),而且须贯穿在架构的设计和代码的实现中,要知道代码即是程序员的脸面。
2.4.1. 新的文件系统
2013/10/30日记录
一种新的文件系统显然极具意义:1.接近本地文件系统的性能
2.接近本地文件的操作能力,如随机写
3.不可或缺的容灾(一般建议分节点多副本,而不是做raid)
传统的分布式文件系统就不合时宜了,它太过于笨重,约束过多。