开头难,但是没有开始,哪有未来。

一、Algorithm

两周多的时间,断断续续,做了 12 道简单题,2 道中等难度题。水是肯定要水的,但是不能一直水,所以接下来就需要攻克前 50 道题里面的中等难度和困难级别的题目。

从简单题的练习中,我发现自己不够仔细,经常会在边界值出错,甚至语法都出错。不能小觑这些简单题,把简单题做到极致也不容易,比如降低内存和运行时长,用多门语言实现。虽然做的题不多,但是收益不少,补充了 C 和 Swift 的语法知识,享受了把运行效率提高十倍的快感。

二、Review

读了一篇关于代码审查的文章:Better Code Reviews. 要点如下:

代码审查是软件开发中非常重要的一部分,是一个绝佳的保持软件一致性和团队相互理解的工具。

代码审查应是有组织的,对所有的成员来说,这是一次扩展视野和帮助他人完成任务的机会,也是每一个人学习和使用集体智慧帮助他人指明未来工作发展方向的机会。

如果处理不当,代码审查对于被审查者,就如同人身攻击,甚至会造成在年龄、性别、经验、等级、行业等方面的歧视。要善良、尊重他人,不仅仅看到需要改善的地方,也需要对好的点进行反馈。不论年龄、等级、经验等方面的差别,成员相互之间都可以进行代码审查。团队需要构建一个平等、理解的基础。

附文末代码审查的清单:

  • 此人之前贡献过代码吗?
  • 他是以团队期望的方式贡献代码吗?
  • 自动化测试通过了吗?
  • 还有新的自动化测试加入吗?
  • 此代码的缺点是什么?
  • 此代码的优点是什么?
  • 非关键但是有价值可以扩展的点有哪些?
  • 此代码可以用于生产吗?
  • 如果彼此面对面,还有哪些要说的话?

三、Tips

使用 hugo 搭建 blog 的过程中使用到了 git 子模块,以下是命令的使用:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
1.添加子模块   
# 添加博客主题 
git submodule add https://github.com/budparr/gohugo-theme-ananke.git themes/ananke  #add a theme

# 添加 GitHub Page 
git submodule add https://github.com/yourName/yourName.github.io.git public  

2.查看子模块  
git submodule   

3.更新子模块    
git submodule update 

4.删除子模块   
1)git rm --cached moduleFile   
2)rm -rf moduleFile    
3)删除 .gitmodules 文件中相关子模块信息    
4)删除 .git/config 中相关子模块信息  
5)rm -rf .git/modules/moduleFile

四、Share

以下内容节选自《软技能—代码之外的生存指南》

艰苦的工作最有可能是让我们获益良多的工作。艰苦的工作最有可能是推进我们职业发展或者为我们打开机遇之门的工作。所有没有任何好处的工作看起来总是那么轻而易举。

赛跑比的是谁耐力更长久,而不是看谁冲刺更有力。 — 约翰·杰克斯,《北与南》

你必须认识到,你要想实现目标,要想发挥出自己的全部潜力,唯一的途径就是自愿咬紧牙关、硬着头皮、开始工作。