1. 道与术

注解

  • 将工作,职场中的的所学、所见、所感记录在这块田地里,不断成长,林荫满园。
  • 创建时间:2020-05-23
  • 更新时间:2022-08-13

1.1. 工作

1.1.1. 关于coding

1.1.1.1. 工具/调试

  1. 一般来说,使用Pycharm进行开发还是比较方便的,有较为完善的调试工具和交互界面,比较高效。善于使用工具可以大大提高工程开发的效率,要有意识去尝试方便的开发工具。也可以使用VSCode工具(插件化生态做的可以,界面简洁功能同样强大)
  2. 对于一个专业的以开发为营生的人来说,开发前准备好两个基本工具是很有必要的。一是个人喜欢且具备高效率的IDE、二是保证随时能够Google!
  3. 公司的日常开发,必然是协作。这时必须熟练使用GIT命令及创建分支与commit code的规范,开发环境最好使用虚拟环境,推荐使用的工具有:pipenv:虚拟环境管理工具、pyenv:Python版本管理工具。以上都是作为一个有开发经验人所应具备的。
  4. 有一个能力必须在日常实践中有意识的训练:debuge、debuge、debuge!!!
  5. Docker作为一个工具,在部署环节可大大减少工作量,以配置文件代替大量的复杂环节,对后续的可扩展起到一定帮助作用。
  6. pycharm 官方学习文档包含工程方面的讲解比较全面,想快速学习相关调试等可以进入官方文档学习。
  7. 掌握常用vim命令也能在服务器操作中起到事半功倍的效果。

1.1.1.2. 精益代码

  1. 看到公司对于代码的要求:简洁优美、重要的是代码的可扩展能力和易用性,需要在开发中去思考代码如何能够最大化扩展性能。主要有几个特点:封装、高内聚,低耦合、兼容性。
  2. 对于新进公司的人才,当接触到公司庞大的代码时,可以在具体的任务背景下去运行并调试代码,需要带着问题去看代码,如:参数是什么格式或类型、传参过程是怎样的、最终返回了什么等等。还有一个技巧就是参考并手敲(经典的代码2遍起吧)并能运行前人写的代码,注意人家的命名规范和解决问题的思路等等。这个过程可能会有些痛苦(目前(201907)的我)但是成为一个优秀程序员的必经之路,没有什么捷径可走!
  3. 如何写出”有味道”的代码,主要从两个方面入手:一是标准的代码风格;二是优秀的具有逻辑的实现。

1.1.1.3. Code Review

  1. CR原则梳理 脑图
  2. 待提升代码+优质代码解析。

1.1.1.4. 架构设计

  1. KISS原则。大道至简,解决问题,保持微笑,迎接各种否定。
    1. 可扩展性和可维护性。
    2. 恰到好处地解决问题。
    3. 系统能够运行3-5年不重构。
  2. 七大设计原则

1.2. 软实力方法论集合

1.2.1. 写作方法论

以下内容摘自 刘润老师的公众号文章 请笑纳:我这28年的写作心法,全部都在这里了

写作时可以借鉴的几个心态或者要点,我根据自己的经验和感受排了个序,看看你觉得哪些点更重要呢?

  1. 逻辑。推荐书籍《金字塔原理》。文章的背景、冲突、问题、答案。
  2. 同理心。
  3. 对象感。对象要具体,如用”你“代替“大家”
  4. 讲故事-关键在于细节。因为没有人喜欢被强加的观点,我们喜欢的,是自己得出结论。
  5. 举例子-降低认知成本。
  6. 幽默感。目的是让读者更加读懂和理解要讲的内容。开自己的玩笑,是一种幽默感。
  7. 开门见山。直接给出结论,然后再说背景和冲突。个人体悟:这一点你在工作肯定用的到,比如给主管或领导汇报工作,一般结论现行都是很正确的做法。
  8. 有能力解决冲突,能够提出问题也有能力解决问题,让读者能从文字中获取信心。
  9. 打比方-窥探核心本质。
  10. 商派。场景导入-打破认知-核心逻辑-举一反三-回顾总结。
  11. 结构。刘润老师的公众号文章一般有3段式、10点式、32条。
  12. 观点。
  13. 突出忧虑。直接跑出一个引起人忧虑的问题?让人进入情境。 一般骗子就喜欢制造焦虑。

1.2.2. 思考方法论

  1. 理想的学习方法:师其意,不师其辞。 学习的时候要去理解搞懂老师的思考逻辑和假设前提,至于如何说和做只要借鉴即可,不用生搬硬套,要结合自身的实际采用相应的方式去实践。
  2. 学习要抓本质,才能应对外在形式的变化。一个追求成长的人,肯定是要搞清一个产品或一个技术的内在逻辑才能形成自身的判断。
  3. 先生存再发展。 生存期突出实用性。
  4. 保持空杯心态。
  5. 学习思维认知偏差。

1.2.3. 学习方法论

  1. 如何表达? 答:遵循START原则。
  2. 如何学习?
    1. 思维能力
    2. 融会贯通的能力
    3. 总结能力:可以按4个文档进行演化:收集,整理,专题,哲学。
  3. 如何快速学习?
    1. 抓住主要信息的能力
    2. 提升输入的质量
    3. 内化于心