跳至主要內容

B.自学成才

trydofor原创摘要大约 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.工具辅助思考

脑力不够,工具来凑,任何工具都只是思想的局部表达和投影。 工具的好处,就是可以节省脑力,传递或保存信息时做兼容协议。

  • 语音是一维的,顺序读,文字是一维的,随机读。
  • 图片是二维的,视频是二维,二维可模拟三维。

我们的思维,总是三维或跳跃的,所有工具是一方面,思考更重要。