通识

记录

已经有很长一段时间没有记录过本周和每天做过什么、遇到什么事情了,一个月过去如果不知道本月做了什么还是会感觉到虚度了。

写好代码的捷径

编程和写作还是十分相似,写作时如果能引用其他名作中的一句或者一段话,相对完全自己写来说文章的质量就会提升一大截。

编程入门初期,看了很多的书,目前来说我看的绝大部分书籍都是初学的时候看的。在这之后就还没有看过相关的书籍,也没有阅读过开源项目的代码了。

没有输入只有输出,只能是消耗之前已有的知识,只能依靠试错来提高效率和质量。

所以还是要坚持阅读相关书籍,就编程通用的来说,代码整洁之道、重构 代码大全 人月神话,没有一本我完整的看完过。所以这些内容还是要补上。

计划

目前每天还是在学习日语,早睡早起也是为了这一点,早上7.30能够起床,收拾完之后7.40到8.20出门能背40分钟的单词,语言学习这点还是贵在坚持了。间歇性突击学习,并不适合语言学习这里,还容易把耐心耗光。

要制定每周的计划,每月的计划,乃至每年的计划。至于每天的计划就是上面计划的拆解了。不然每天想到那里就学哪里,只学每天习惯性学习的内容,其他方面几乎就停止增长了。

目前来说更早睡和更早起,更利于我目前的计划。早上的时间可以用来学习日语,至于晚上的时候,脑子已经迟钝,用来记忆还是很难的。

记录工作中遇到的障碍

为了做A事情,其中会用到其他的工具等,如果这些工具有问题如何去处理呢?感觉去处理处理能够学习到其他方面的知识,而不是不去处理。做一点分外的工作还是能加分的。以后可以把所有遇到的问题都记录下来

打造高效的试错环境

理想的编程环境就跟刷Leetcode一样,只用细细解读描述的非常清楚的需求,开发时只用关注这一个功能,功能阶段性开发完之后能够立刻进行自动化测试。

  1. 目前遇到的情况中,将一个函数的几部分可以好好考虑考虑是不是要拆开,这几天做了一个将A结构体转换为B结构体的工作,其中某些字段需要做映射,如果把这些映射全部写到一个转换函数中,后续想到单独处理一个字段的映射还要拆出来。

  2. 协议的制定还是要考虑好,最好不要有临时协议这个概念,协议message中可以将部分相同含义的内容(如账号信息)放到一个单独的message中。后续进行协议改动还是挺麻烦的。

  3. 单元测试在Tsssvr中进行了第一次应用,效果还是非常不错的,能够加快问题的暴露。

  4. 最好能够摆脱客户端进行测试,最理想的情况就是只用处理收发协议。

  5. 即使项目很复杂,也应该积极采取操作去改善自己的开发环境。

  6. 模块化设计或者微服务架构 降低模块之间的影响

  7. 自动化测试

  8. 尽量缩短从改完代码到获得反馈的等待时间

关注学习性价比

学习初期,投入100份精力能够获得1000份结果。学习后期,投入100份可能只能获得10份结果。

学习新事物的时候,要想好自己要学到什么程度,知识要学的非常多。既要能做到有自己专精的部分,也要有略懂一二的部分,这样才能面对的海量的学习不完的知识。自己认为不该学习过深的就不要学习过深,腾出时间来学习其他内容,做到准确的分配自己有限的精力。

学习的时候也要选择合适的学习资料,优秀的资料不一定适合自己,浅显易懂的资料没准才是合适的,尤其是跨行学习的时候。

避开完美注意陷阱

性能够用,避免过度设计,避免过早优化,

代码质量上精益求精时好事,不过并没有完美的代码,能够满足当前的需求,为未来预留一些扩展空间就够了。

有目标感&刷新简历

如果你的目标就是学本事,那最应该考虑的是半年、一年、两年、三年或者离开这家公司的时候我能带走什么。

刷新简历不一定是为了跳槽,能写到简历上的才是真正敢拿出来的,可以通过内部的活水或者外部的面试的反馈来检验自己。

现在没有课程表,所以就要学到没有课程表的情况下怎么办,没有课程表的话就需要自己指定,不用每天N次课这种 也没有时间,每周每月每季度每年等。

横向比较

与前辈比较起来还是很难的,毕竟时间花费就不一样。但是可以和同等级(如年龄)的人比较,看看自己到了哪个阶段,能不能到同等级的前列。

到不了的话就要找找原因了,不排除有先天性的优点或者缺点,但不至于你前面的人都是这些有先天性优点的人。

靠谱 独立 为自己的行为和决定负责

靠谱 这个比较笼统,总的来说就是让别人放心的把需求给你做,从小到大。简单的问题不靠谱经常搞出问题,又何谈复杂的问题呢

独立 刚入职的时候一般都会有人带,此时导师能够或多或少的帮你挡下一部分问题,这些问题你不用考虑都可以很好的完成需求。等后续这些问题终究还是要自己考虑。当然也不是所有问题都要自己解决,解决不了的要及时询问,不要想着独立不懂装懂,出了问题会影响你的靠谱