Chinaunix首页 | 论坛 | 博客
  • 博客访问: 7170097
  • 博文数量: 3857
  • 博客积分: 6409
  • 博客等级: 准将
  • 技术积分: 15948
  • 用 户 组: 普通用户
  • 注册时间: 2008-09-02 16:48
个人简介

迷彩 潜伏 隐蔽 伪装

文章分类

全部博文(3857)

文章存档

2017年(5)

2016年(63)

2015年(927)

2014年(677)

2013年(807)

2012年(1241)

2011年(67)

2010年(7)

2009年(36)

2008年(28)

分类: 架构设计与优化

2013-06-28 17:25:08

原文地址:软件开发心得点滴记录 作者:aquester

软件开发心得点滴记录

一见 创建日期:2013/6/27

1. 前言

自从2002年大学毕业后一直沉浸于软件开发之路,平时喜欢思考和归纳,时常会产生一点心得和想法,回想起来是一笔宝贵的财富,只可惜陆陆续续遗忘了。今天立此文章,希望从今以后可以记录下,以帮助自己不断地提升,同时也作为一种纪念。

2. 心得点滴

将心得点滴分类成若干篇:

1) 代码技巧篇

2) 架构设计篇

3) 想法篇

4) 思想篇

2.1. 代码技巧篇

2.1.1. 关于风格

2013/6/28日记录

关于代码风格,经常听人说只是风格不同,言下之意是不存在好坏之风,认为这样那样都可以,实足的好好先生。

这是谬论!真正好的风格是令人赏心悦目的,它不但规范统一,而且是一道美餐。那些虽自成一体的风格,虽然也很统一,但经常遭遇后来接手上的唾弃唾骂,原因就是换波人,新的人觉得不爽。

然而,当用心留意一些国外开源代码,会发现心被打动,除了赞美外,别无它词。原因是美与丑、好与坏,虽然有不同的标准,但是美丑之间、好坏之间定存在界线,而不是可混肴

记住:在抱怨他人写的代码烂的时候,不要留下把柄,让自己也成为抱怨对象,你要做的就是成为终结者
2014/4/9

代码的严谨在于对每个细节都一丝不苟,比如不忽略任何一个函数返回值。

判断一个函数是否信号安全,就看在信号处理中调用它是否是安全。
2014/6/20日记录

代码需要柔性,比如不能强要求以root编译安装。
    代码需要智能,比如自动寻找MySQL的可能安装路径,以减少手动配置。
    我所写的代码会努力去达成上述两个目标。

2014/9/10日记录
代码的注释不在多,将接手者可能遇到的“坑”说清楚十二分地重要,注释中要例出涉及到的表结构,对涉及到的数据结构配合示例可成倍降低难度,示例可以化抽象为感性认识。

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日记录

设计源于生活。
    色就是外观,味就是功能,香就是流畅的体验

不管是产品经理,架构师,或是码农,都要有一定的鉴赏能力,并具备一定的审美观。要相信用户体验无处不在,细节决定品质

对于一个菜,总希望它不但好吃,闻起来也爽,看起来更是流口水,也就是期待它色味香齐全,这是人追求美的本性

对于软件开发,色味香不能仅局限于面向最终用户的产品(如浏览器),而且须贯穿在架构的设计和代码的实现中,要知道代码即是程序员的脸面

2015/9/1日记录
基于RPC大系统小做,会容易许多,基于传统网络框架,一般是小系统大做,各种SO插件,导致很庞大,如果配套的运维支撑系统跟不上,维护就是件痛苦的事。
2015/9/1日记录
软件工程师要有女生的优点,女生能将房间整理得井井有条,让人看了温馨;软件工程师要能将自己写的文档、代码等归纳、分类得井然有序,让人看了舒心。

2.4.1. 新的文件系统

2013/10/30日记录

一种新的文件系统显然极具意义:
1.接近本地文件系统的性能
2.接近本地文件的操作能力,如随机写
3.不可或缺的容灾(一般建议分节点多副本,而不是做raid)
传统的分布式文件系统就不合时宜了,它太过于笨重,约束过多。


阅读(1374) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~