4WD4 公开课笔记

3条印象深的触动点:

  • 反省自己 (的学习模式/思考解决问题的模式)

    我觉得反省就是时时把自己行动的指向与是否越来越靠近自己目标做对比。

    1. 需常常对自己的行动/行为有察觉。
    2. 时时检讨自己的目标在哪。
    3. 两者比较,是否行动的结果让自己越来越接近目标。
      有的话,思考下次再完成同样目标时可以如何优化行动。
      没有接近目标应该停下来,重新检视行动规划是否合理。不合理调整行动计划,使行动结果设计靠近目标。。
  • 用最小代价解决问题!

    这已经是大妈第N次讲解该点,也是之前我觉得get到该点并记入当周笔记中,经过这6周的实际执行情况观察自己并没有照着该方法去严格执行。主要问题还是没有定好工作分解目标和时刻做记录,做着做着就做与任务无关事情去了,每每没能在当周完成规定任务。

    针对没法在当周完成任务的问题,我决定采用如下的改进行动框架方案:

    1. 先研究当周编程任务写下任务目标,任务实现思路和分解行动计划
    2. 然后严格按行动计划执行
    3. 阶段性反思行动结果,是否在最小代价解决本周任务的道路上狂奔。没有的话则调整行动计划。改变后的行动计划需写下来。
  • 用最小可用产品(MVP)框架循环写代码,并将每次可执行版本Commit/Push至Github远程库中记录

    今天看大妈现场演示完成1W 的CLI版本日记程序的过程,大妈首先以最小框架(见下面代码示意),我认为在没有核心功能语句的情况下,先让代码运行成功,然后一点点在这个框架上再添加代码,组成模块,最终一点点完成CLI日记的整体目标效果。在每次得到可运行版本后,Commit/Push到远程库中。既保留当前成果,又可以挣得Github的commit记录。从现在开始写代码时,我采用该迭代思路来写代码。让自己在每时每刻都沉浸在成就感中,用当前实现的结果来激励自己继续编程写代码。

...
def main():
    pass
if __name__ == '__main__':
    main()

Google Python Style Guide

容我先对该页面的排版吐个嘈,界面排版一眼望去感觉混乱,也不知是不是种好的Style. Ok, 吐嘈完毕,说正事回答大妈三问:

  • 看没看过?

    看过,在大妈提醒后开始看的。

  • 看过几次?

    2次了。

  • Get到哪几点?

    1. 一行最多可以有80格字符(已把Sublime编辑器设置为一行80个字符位置提醒)
    2. 在使用完毕后明确关闭文件和套接字
    3. 即使一段程序用作单独执行也应该写成可导入的形式。一个导入(import)不会对执行程序主功能的执行有副作用。Pydoc和单元测试都要求模块可导入。总是在执行主程序前(main)检查if __name__ == '__main__', 这样当本程序作为模块导入后主程序( main() )部分不会执行。 当模块导入时所有在上层的代码都会执行。请留意不要调用函数,创造对象,执行其他不应该在程序做pydoc处理时的操作。
      All code at the top level will be executed when the module is imported. Be careful not to call functions, create objects, or perform other operations that should not be executed when the file is being pydoced.