Code Kata 之读自己过去的代码

Code Review · asj · Created at · Last by asj Replied at · 1075 hits
377

这个Kata的关注点在于刻意练习阅读代码,而且是自己写的代码,来体会代码中各种细节的长期影响。通过主动的回顾来形成良好习惯,并增强review能力。
找一段写了超过一年,记忆有些模糊,代码量在500至1000行的代码。
第一遍读:假定这是大牛写的代码,记录惊艳的地方
第二遍读:假定这是个二货写的代码,记录烂的地方
第三遍读:假定这段代码有个严重Bug,今天找不出来你就完了。记录找到的Bug

http://www.jianshu.com/p/70e7ca584ff3


「软件匠艺社区」旨在传播匠艺精神,通过分享好的「工作方式」和「习惯」以帮助程序员更加快乐高效地编程。
共收到 2 条回复
1
hkliya · #1 ·

这个 Kata 是你自己设计的吗?

377

#1楼 @hkliya 这是Thomas最初提出Code Kata概念时列出的一个。
http://codekata.com/
不得不说境界是有差距的,20个Kata有一小半都不是具体的编程练习。
Thomas是真正软件工程师的级别,而我还在码农视角。
列表如下
1. 设计一个超市计费系统
1. 用5种不同方式实现二分查找
1. 快速估算若干个数值
1. 写个程序从两个网站抓取数据,重构出共有部分
1. 实现Bloom Filter
1. 从一个字典中找出所有的构成字母相同的异位词
1. 用三种视角读自己以前写的代码,好的,坏的,寻找bug
1. 以三种目标写同一段程序,尽可能易读,运行的尽可能快,尽可能易于扩展
1. 超市结帐题目
1. 分析在处理大量业务数据时,采用Object和Hash两种方式各自的优缺点
1. 实现一个排序算法
1. 思考对于淘宝级别的电商网站,如何实现热卖榜
1. 写一个统计代码行数的小工具
1. 实现一个文本分析算法Trigram analysis
1. 对于n位的二进制数,没有相邻两位都是1出现的数字有几个?
1. 思考如何实现一个业务规则系统
1. 更进一步的业务规则思考题
1. 计算代码间的依赖
1. 实现一个算法把单词A变为B,每次改变一个字母
1. 实现纸牌游戏Klondike
1. 写三种不同的list实现

需要 Sign In 后回复方可回复, 如果你还没有账号你可以 Sign Up 一个帐号。