B.自学成才
原创大约 3 分钟
B.自学成才
主动学习,是一种重要能力,它是很多成功现象的本质推动力。 我认同『师傅领进门,修行在个人』,也主张『攻城狮精神』。
B.1.代码怪的等级
想象一下玩游戏时的打怪升级,出现在review中的代码怪
也是有等级和经验值。 不同的是代码怪
是程序猿生成的,等级和经验值和生成他的程序猿当时的状态有关。
等级的评定其实比较主观,但为了便于理解和度量,主要参考以下方面的,
- 代码行数 - 累计量,主要指手写代码,非模板或自动生成。
- 反思点数 - 累计量,每迭代时,提升自己能力的10%算一个点。
- 方案数量 - 碰到问题时,大脑中能立即验证的可行方案数量。
注意,此等级和简历中的精通
,职场中的P#
,没任何关系,它仅表示代码怪的凶残程度。 同时,等级中间也非严格的进阶或排斥关系,大概是,既要还要,有时有时那种。
🙈猿初
初级程序猿10K代码行,10反思点,0方案。怪物特征,不看。
- 代码主要靠复制粘贴,来源于百度/CSDN等低质量平台。
- 代码以能运行为主,有一定的可读性,缺少健壮性和安全性。
- 很多IDE的代码分析提示的警告,都没有消除。
- 不知道解决方案,拿来就用。
🙉猿中
中级程序猿30K代码行,20反思点,1方案。怪物特征,不听。
- 开始出现大量的手写代码,开始复制团队代码。
- 代码会思考复用,有一定健壮性,能够考虑安全性。
- 手写代码几乎没有IDE警告。
- 对一类问题,心中有1个解决方案。
🙊猿高
高级程序猿50K代码行,30反思点,2方案。怪物特征,不说。
- 手写代码比较高效,有质量保证,有代码直觉。
- 为项目提供框架支持和工具类,写核心代码。
- 对问题有自己的见解,有主方案和备选方案。
🦁狮初
初级架构狮100K代码行,40反思点,3方案。怪物特征,精英。
- 写框架代码,容易在多概念和设计中纠结。
- 能够把代码直觉和业务能力结合。
- 通常由主方案,备选方案,还有考虑回退方案。
B.2.成才最优路线
有句话叫『聪明人都下笨功夫,愚蠢者总想走捷径』,真没有捷径,只有方法。 写代码其实是一种哲学写作,必须有足够的积累,才能翻译这个世界。
- 读代码,写博客 - 官方指南,手册,必读。
- 功能导向写代码 - 必须持续交付,功能可用。
- 回顾和改良代码 - 必须反思,改良。不用妄想100%完美。
- 系统的读些书籍 - 把知识碎片系统化,结构化。
- 把知识分享出去 - 检验掌握程度的唯一标准。
初级的代码,和中英文翻译很像,就是把人懂需求,翻译成机懂代码。 而高级的代码,也和高级翻译一样,是一种再创作。
B.3.工具辅助思考
脑力不够,工具来凑,任何工具都只是思想的局部表达和投影。 工具的好处,就是可以节省脑力,传递或保存信息时做兼容协议。
- 语音是一维的,顺序读,文字是一维的,随机读。
- 图片是二维的,视频是二维,二维可模拟三维。
我们的思维,总是三维或跳跃的,所有工具是一方面,思考更重要。