3wd4

Top1 联想

  • 大妈说的电影色彩分析的步骤,原本觉得是个文科或社科论文的题目,原来可以转换成编程project觉得特别神奇有意思.想之后研究一下具体怎么玩~
  • 另外最近两周的确有看到其他同学的一些有意思的想法,也会在反思为啥我没想到呢?
    • 其实不是没想到,是根本没有去想.为啥不去想呢?
      • 还是以前的坏习惯,只求完成基本任务,不求上进.
        • 明明已经80%的软件开发都可以尝试去做了,为啥不去做呢?
          • 求知欲还是不够啊亲
  • 另外在想EYODF和不要重复造轮子的时候,搜到了一些这方面的讨论文章.
    • 私以为,在初学者阶段,就算是已有的功能或工具,重新用自己的方法实现一遍是很好的实践和成长,也会建立起成就感以及对自己的信心.自己造出来的东西对比别人的东西就会看到差异,找到前进的方向.
    • 但是重复造轮子那应该说的是已经到了熟练阶段,在并不能超越前人的情况下,重复造轮子只是资源的浪费,要以最小代价解决问题

Top2 相信自己

  • 虽然前面说在初学阶段,用自己的想法实现已有的东西也是很好的成长,但是来开智python之前我也从来不知道原来很多工具都已经在那儿了,只是我不知道它存在也不知道其实用起来并没有想象的那么难.
  • 说到这个,又想回想自己大一的时候学C语言.那时候不知道从哪位学长那儿听来说,C这门课很简单,妥妥的拿A,然后就屁颠屁颠选了这门课.然而前面好几节课逃课没上,中间再去上课的时候发现你妹讲的什么完全没有概念.才慌张去补前几节课,也还是不怎么懂....那个时候老师其实也有讲,学编程的最好方法就是编程,你实实在在去敲代码才是硬道理.然而我那时的心态就是很怕错,前几次小作业都是努力把整个程序都想好,然后run,希望一次性通过,提交就ok.对于debug这个过程也一直觉得很难,希望最好的结果就是不用debug.然而到了大作业就傻逼了,根本没办法一次性就把所有细节写好,然后就错误不断,不知道如何修正,最后也只提交了个半成品.感觉学C的时候整个就是打击自信心,让我一直坚信自己不适合编程,别踩这个坑.当然,后面就除了课程相关学了点MATLAB和SAS和R,也就不打算继续学编程了.
  • 前天和闺蜜聊天,和她说最近学习python的热情高涨,安利她来报名第三期,甚至脱口而出,想转行去做程序媛了.....somehow 突然对自己有信心了,觉得自己应该扛得住了.就算不去真正做程序媛,自己生活里遇到的很多事情也可以用编程思维尝试去解决,生活也许就会变得有意思多了~

Top3 先写代码并commit再写笔记

  • 上周公开课笔记本来给自己规定想说写笔记和代码同步进行,但发现实际操作还是很痛苦.
    • 写代码的思路有的时候是一个很顺行的过程,一步步前进,中途要是又去写笔记总觉得思路是中断的.
    • 有的时候思维因为别的什么事中断的话,要重新延续上次的地方会有cost,这种cost累加的话可能到后来就会不知道该怎么重新开始.
  • 后来想起来大妈上周的comment说给出每个实验所对应的commit版本,决定这周尝试新方法.
    • 也就是每次尝试都做了commit,commit的时候正好可以附带写一个评论,写下主要的milestone就可以提醒自己这一步是做了什么.
    • 写commit评语就很快了,不像写笔记那么慢.所以从看官方文档里的例子开始实验,commit,修改,commit,修改这样的循环直到完成.
    • 回头看commit list,几个步骤其实一下子就清晰了,笔记的具体内容也从这里扩展就容易多了.
  • 暂时觉得这样的方式比较适合我,唯一的隐患是写了代码也commit了之后就拖延症不想开始写笔记了...orz

如何应用

  • 感觉比较思想性,暂时没想好具体咋应用
  • 但是先写代码并commit再写笔记的方式我个人比较推荐,决定继续实施,并测试一下是否可以改进.

Google Python Style Guide

  • 读了一遍英文版,后来才知道有中文版
  • get到了几点之前没注意的:
    • 空格:
      • 括号内不要有空格
      • 用'='设置关键参数时,其两侧不要使用空格(因为以前的习惯,一直都会在等号两侧加空格)
    • 注释comment:
      • 函式必须有docstring,包含函式做什么,输入及输出的详细描述.类也相似
      • 需要写注释的是代码中那些技巧性的部分.对于复杂的操作,应该在其操作开始前写上注释
      • 添加TODO注释,表示是一种短期解决方案,不算完全也是够好了 # TODO([email protected]): Use a "*" here for string repetiton
  • 还有些新知:

    • 使用with语句管理文件
    • 对代码运行pylint,可以查找bug
  • 其他一些term没怎么接触过的,还不是太清楚.