Magnolia's Blog

持续成长

把函数视作对象 - 使用一等函数实现设计模式

《设计模式:可复用面向对象软件的基础》一书是这样概述“策略”模式的:定义一系列算法,把它们一一封装起来,并且使它们可以相互替换。本模式使得算法可以独立于使用它的客户而变化。


1. 经典的“策略”模式

电商领域有个功能明显可以使用“策略”模式,即根据客户的属性或订单中的商品计算折扣。假如一个网店制定了下述折扣规则。

Read more »

在多人一起开发写代码时,平时常用的git协作流程是比较固定的:

现在使用的是GitLab,发现这个工具真的是很好用啊,开始习惯了这个版本代码管理工具。不过GitLab在版本控制代码方面也是基于git的,平时我们是这样来工作的:

  1. 遇到新的任务时,先新建一个议题Issue,它会自动创建一个分支,暂且记为branch1
  2. 在该议题下面创建一个Request,即将的编码都是提交到这个Request
  3. 将本地的分支切换为branch1,然后在该分支上编码
  4. 经过代码Review,修改代码通过审核后,将Request通过,并且将branch1合入主线
  5. 如果发现还有遗漏没有做完的内容,可以Reopen开始时创建的Issue,接着重复前几步操作

现在我们都是在pycharm上进行分支的checkout和代码的commit & push,不得不说pycharm结合代码的版本控制,真的是完美,极大提高了工作效率。想想第一份工作时每次编码完成后都是在最原始的git bash界面来提交代码,太耗时且容易出错。

虽然主要用pycharm界面化来commit & push:

Read more »
0%