💼 从工作中学到的
    此条为私密说说,仅发布者可见

    📝 每日记录 从4月末开始,每天熬夜到1点半,身体每况愈下,以至于再也不能不重视了。

    身边新冠第二波的人也变多了。倒是一直没有发烧过,因此也不知道自己有没有阳过,不过其他的症状从1月放开后持续不断。 腰痛、咽喉不舒服,胸闷,呼吸不畅,口腔溃疡等等几乎不间断轮番上阵。

    这半个月来,从新需求启动忙到焦头烂额。但是身体永远是第一位,所以下班后不再想任何工作的事情了。

    💼 从工作中学到的 关于工作,从0启动了一个需求,所以涉及到大量的方案设计与评审的工作。在这里体会最深的一点是:过度设计是一切的根源。很多优秀的技术架构是需要演变的,而不是一步到位。

    在代码设计中,有很多不错的设计模式和设计原则,以便代码便于扩展,容易测试。但是在实际的设计中,很容易从一个具体的需求想要设计一种“极其通用”的设计方式。模块越通用带来的复杂度就越高,因为需要兼顾更多的场景。

    所以不如变成两个模块来做,而不是想要一个模块非常灵活、通用的完成所有需求。

    尤其是在刚刚接触一些设计原则的时候,我们想要在代码的所有地方去应用,比如单一职责,开闭原则、MVC等等。可能会让一个没有那么复杂的需求拆分成很多独立的模块,导致这些模块之间需要还需要通信,或者函数需要不断的通过层级来偷传,这无疑增加了复杂度。

    当然好的代码需要一定的设计,这其中的权衡是需要在不断的实践中掌握的。

    💼 从工作中学到的 「输出论据比论点更有价值」最近在写绩效评价相关的,有一个感受就是情绪或者主观评价都是比较虚的。所以才会有所谓的「夸夸宝典」,这些主观评价就像是一个结论或是论点,必须需要有论据支撑才有价值。当然这个场景下论据与论点结合更适合。

    这个观点同样适用于其他的事情上。比如与别人沟通上,即使你要和别人吵架,提出你的不满,你可以数落对方做的不好的地方,让你烦、讨厌的事情,但最好减少去输出主观的评价或情绪。比如直接人身攻击,大骂对方没素质等等。输出论据,大家也能心知肚明知道你的不满了。而情绪和观点是可能会变的,过几天你可能会因为一时冲动输出太多情绪而后悔,但是事实是不会变的,这不会让自己觉得“冲动了”。

    💼 从工作中学到的 写文档和设计代码有一些相似之处。一个比较复杂的话题想要展开,就好比设计一个复杂功能的类。全部代码写在一个文件中当然可以,就会导致单文件代码行数太多,阅读起来很费劲。如果我们能更好的封装与模块化代码,单个类的功能就会更清晰。

    同理,写一篇复杂话题的文章,也可以有类设计的思想,先介绍最基础的部分,然后基于这个基础会有多个分支展开(子类继承)。多篇文章之间环环相扣,而每篇文章也不会太长,阅读压力也不大。

    我也看到过有很长文章从头到尾讲一个复杂话题的,写的也特别的好,这个就好比仍然是多个类,只不过放到同一个文件里面而已。

    此条为私密说说,仅发布者可见

    💼 从工作中学到的 当我们CR代码的时候,我们在review什么。 其实很难和代码作者本身理解程度来review代码逻辑的正确性,而是应该review一些常见的代码写法的问题。比如指针是否有空指针风险,函数本身的设计(如输入参数在输出参数前面)等等代码规范的问题。

    除此之外,如果对代码需求的细节了解更多,可以review 一些代码的逻辑,比如改动代码是否会影响之前的调用流程。

    CR中几乎做不到的是判断每个变量计算的值是否符合预期,这个需要代码作者本身来保证。

    正常来说,别人给你CR的意见都是你自己每次自己CR的时候应该发现的,所以提高代码质量的一个好方法就是记下每次别人给自己的评论,并反思为什么自己在检查代码的时候没有发现(还是自己并没有检查代码)?

    📝 每日记录 工作如果获取不到持续的成就感和进步,是很容易陷入一种痛苦、迷茫、虚无的感受的。尤其是如果一直工作没办法按照排期完成,一直后延、后延、后延,只是无尽的麻烦... 💼 从工作中学到的

    💼 从工作中学到的 因为国庆大部分时间都在忙工作,节后的几天又继续加班到挺晚才回来,快晚上十点回来后,因为天气变冷,挑选一些过冬东西,然后就已经到凌晨了。这种连轴转到今天早上的时候,闹钟都叫不醒我。整个人特别的困,与此同时也会让我面对环境更加敏感脆弱。所以,过大的压力、不好的作息这些会更让人容易emo,陷入不好的情绪当中。

    今天晚上吃完晚饭就回来了,调节一下。工作的本质,不是为了ld工作,而是给自己工作,提高自己的技能,能挣钱才是目标。不要让自己陷入无尽的社交困境里面,找准靶心,调整节奏,健康作息。

    最近快入冬,身边感冒越来越多,流感也来了,永远是只有身体不舒服的时候才知道健康多重要,

    💼 从工作中学到的 💻 代码思考在正式工作之前,我没有写过单测,主要是平时自己写的代码通常耦合度较高,没有单独抽象设计模块的概念。

    最近开始写一些通用能力的基础库需要写单测。第一次单测的编写是在代码基本完成后开始写的,完成单测后会发现一些bug,于是修改bug。但这个过程中会发现代码设计的一些不合理之处,比如多个接口的返回值是否更统一,对于接口可能出现错误时的返回值,应该如何处理(这个可以多参考chromium base库中的代码实现)。如果一个模块的多个接口设计不统一、那么单测同样也会非常复杂。

    其实上面的过程就有点TDD那味了,但是测试驱动开发,需要先写一个无法通过的测试,通过修改代码来使得测试通过,再重构代码。在这个过程中不断的开发代码,而不是先写完代码,再写单测试。

    单测的重要性是毋庸置疑,因为代码复杂性总可能出现某个分支逻辑错误。因此TDD将单测与开发结合,减轻了写单测的难度和压力,同时也能通过单测进一步发现代码的设计问题。

    参考文章:

    💼 从工作中学到的 工作之前刷题会想,刷题这些有什么用,但是今天真的用上了回溯算法,算法思维在工作中还是有用的,尤其是在做一些底层方法/数据结构设计与封装上很有用(对c++是这样,因为c++的stl 方法并不全能)

    比如chromium中的base::Value 结构是一个递归的结果,如果想拿到最深的key-value 键值对,以及此时的路径上所有key拼接的path,就需要回溯。

    再比如一个目录路径按照分割符打成一个vector,另一个目录下的文件路径同样打成一个vector,想要获取相对路径,就是找两个vector 连续公共的部分。

    之前实习面试中,也有面试官出一些手写的题目,估计就是来源于工作中的一些问题抽象。

联系方式

关于我

  • 来自南部的一个小城市,个性不张扬,讨厌随波逐流。

那年今日
6 月前

对事不对人 以及 严于律己 宽以待人 就这两条估计没人能做到….. 对事不对人 意思是同一个事情在不同的人身上是不是表现的态度一致?或者总体一致?比如对待上级趋炎附势,态度温和像小绵羊一样。对待下级态度冷漠,已读不回。这样的行为是令人可耻的。当然第二句话更难做到了,意思就是不要对别人提更多的要求,而是用来要求自己。要求自己必然牺牲更多自己的利益,不要求别人意味着放弃更多自己权益。这种吃力不讨好的事情,估计只有圣人能做到吧当然第二句话也像是一种宽慰一样,如果你对自我要求已经很高了,看到别人却不遵守规则,也毫无办法,也能拿来这句安慰自己,做好自己吧就足够了。

9 月前

📝 每日记录 最近身边好多都是甲流。我感觉我好像也有点中招了。早上起床的时候身上很酸痛,量了一下体温倒是正常。喉咙也不是很舒服,牙龈也上火肿了一点,这一切都是表明了身体欠佳.... 希望早点恢复

10 月前

此条为私密说说,仅发布者可见

14 月前

📝 每日记录说说国庆7天干了啥。国庆第一天回家了,3个小时的公交,4号的上午就又回来了。这几天主要还是完成节前没完成的工作...因为节后就要提测了。这次需求开发也让我更了解一个道理:代码不是写的越多越好,反而是写的越少越好。同样一个需求,如果别人写1000行,我能500行就能搞定,必然我的逻辑会更精简。复杂逻辑不容易维护、扩展、debug,而自己是需要对合入的每行代码负责的。因此有的时候适当的降级需求,保障逻辑清晰也是可接受的。这一个需求这几天改了大概3、4遍。一开始是很多的if判断,混乱。第一次把UI部分的状态改到了状态机中,并编译通过以及做了简单的自测。然后再修改解压、解析文件部分的流程,也考虑放到状态机中,于是把这部分与文件代码也分配了状态,一遍所有的工作都能委派给状态机管理。最后又把状态机的与原有的manager合并了,再一次的简化了两遍的逻辑。目前来看是比较符合我的预期的了。这种不是很紧急但是稍微有一点压力的目标让我没那么无聊。如果什么目标都没有的假期是很痛苦的。但这个假期我感觉还是很充实的。也在闲暇时间看了脱口秀大会,去味多美买了一些面包,打印了几张喜欢的照片。晚上洗了个澡,把房间收拾了一下。节后要连续上7天,还是希望能抽空完成自己的一些项目。

15 月前

生活总是喜欢找借口。比如在家办公效率不高,可以怪自己要做饭占用了时间,在公司效率不高,可以怪身边人敲键盘、说话声音太大。总是可以找到一个借口,然后告诉自己,not my fault。一件事情没做完,没做好,要么这个人影响了自己,要么是那个事情干扰了自己,但其实都不是主要原因。下班后什么事情没干,就结束了一天,要么怪今晚下雨了,要么是隔壁发出噪音太吵了,要么是今天工作太累了等等等。晚上看的“极品老妈”有一集的结尾说的非常好,邦尼在她老妈的墓前读写给她老妈的信。信的结尾是邦尼的发泄,“because of you "连续大喊了好几遍。在她老妈去世之前,总是把自己之前酗酒、吸毒、做的很多不堪的事情都怪罪给她的母亲。但自己其实不愿意承认的一点是,那是一个借口。别人没有责任为自己的人生负责,找借口实际上是逃避责任而已。承认自己不够积极,应该对自己的所有事情负责是一件很难的事情。如果不开心、事情做的不好,效率不高,没有借口,不要找任何借口。看看能不能有一些小的行为可以改变(就算不能改变,也不要自怨自艾)🤔 生活观察 📝 每日记录

16 月前

屋里有蟑螂了。。。