软件开发中的注意事项(常见问题整理)

一、函数定义原则

1、一个函数/方法只做一件事情,不能将多个事情放在一个函数中处理(单一职责原则 SRP)

函数/方法的最小粒度是功能,函数在设计/定义的时候,不能将多个功能柔进一个函数里面,这样函数会变得得膨胀,增加了函数的耦合性,不便于函数管理维护。

例如,有这么一个业务逻辑:用户每天来网站阅读文章,当阅读完毕不同的10篇文章之后,就给他增加10个用户积分。

这个业务逻辑可以拆分为4个功能,也就需要定义为4个函数/方法来实现。

Continue reading “软件开发中的注意事项(常见问题整理)”

Mecurial(hg)学习要点(团队管理)

Mecurial的基本介绍可以查看百度百科,以下知识是个人对Mecurial经验的简要说明。
Mecurial(hg)是一款分布式版本控制软件,可以称之为轻量级的git,比git和svn都要简单易学,但是在版本控制的理念上与svn有所区别。

分布式版本控制的核心理念是“分支”和“合并”,每个开发者在本地拥有很多开发分支,最常见的一个分支可以是一个功能的开发或者一个BUG的修改,每个分支有一个独立的名称,相互之间相互独立、互不影响。当分支代码开发完成之后,需要将该分支的代码“合并”到主分支,该主分支即是软件最终的分支。需要发布的功能都需要合并到该主分支,不发布的功能或修改不用合并。

Mecurial在Linux开发环境下一般使用命令行完成版本控制操作,在Windows环境下可以使用命令行或者图形界面,图形界面的话会隐藏所有的命令细节。

Continue reading “Mecurial(hg)学习要点(团队管理)”

Git学习要点(团队管理)

一、Git介绍

Git的基本介绍可以查看百度百科,以下知识是个人对Git经验的简要说明,以方便帮助大家快速学习。

分布式版本控制的核心理念是“分支”和“合并”,每个开发者在本地拥有很多开发分支,最常见的一个分支可以是一个功能的开发或者一个BUG的修改,每个分支有一个独立的名称,相互之间相互独立、互不影响。当分支代码开发完成之后,需要将该分支的代码“合并”到主分支,该主分支即是软件最终的分支。需要发布的功能都需要合并到该主分支,不发布的功能或修改不用合并。

Git在Linux开发环境下一般使用命令行完成版本控制操作,在Windows环境下可以使用命令行或者图形界面(TotoiseGit)。
图形界面的话会隐藏所有的命令细节,所以建议大家学习的时候以命令为主,这样知其然并知其所以然。

二、Git配置

• (Linux) /etc/gitconfig文件:系统中对所有用户都普遍适用的配置。若使用 git config 时用 –system 选项,读写的就是这个文件
• (Linux) ~/.gitconfig文件:用户目录下的配置文件只适用于该用户。若使用 git config 时用 –global 选项,读写的就是这个文件
• 当前项目的 git 目录中的配置文件(也就是工作目录中的 .git/config 文件): 这里的配置仅仅针对当前项目有效,每一个级别的配置都会覆盖上层的相同配置,所以.git/config 里的配置会覆盖 /etc/gitconfig 中的同名变量

用户信息设置(必须)
git config –global user.name “自己的账号名字”
git config –global user.email 自己的账号邮箱

文本编辑器(可选,默认是vim)
git config –global core.editor gedit

差异分析工具(可选,默认是vim)
git config –global merge.tool meld

输入一次后保存用户名和密码
git config –global credential.helper store

查看已有的配置信息
git config –list

Continue reading “Git学习要点(团队管理)”