2024.10.26
碎碎念
今天主要是学习了set和map这两个容器,并敲了一个小练习。
感觉这两个容器还是挺常用的, 也有自己特殊的赋值方式。但那个练习耗费了我特别久,感觉起码有两个小时,但它其实根本没有那么难。
问题出在逻辑方面,因为我写这个练习之前其实并没有去写像我上面提供的那种需求细分和问题拆解,反而是边敲边想的,这就导致我的整体逻辑十分混乱,经常是拆了东墙补西墙,而这仅仅只是一个用来复习今天所学知识的小练习。
最后还是靠gpt才解决了我那无比混乱的逻辑问题,要不然我可能干脆推倒重写了。我是在最后打印那里又卡了很久,当有很多容器可供我选择时,我就会纠结到底使用哪个、该不该使用哪个,同时for循环和索引,以及对迭代器的不熟练使用也让我十分痛苦。
在问了gpt该如何反思总结后,我想我得出了下面的几点(其实上面改进空间那里也是问了gpt之后它告诉我的👉👈):
-
先思后写:拿到需求之后,先不要急着写代码,而是像上面那样对需求进行要多细有多细的拆解,思考程序的结构和逻辑
-
逐步实现:先实现核心功能,再逐步添加其他特性
-
阶段性测试:每完成一个模块要及时进行测试,确保功能正确
-
保持代码整洁:使用有具体含义的变量名和函数名,并添加必要的注释,写注释也是让自己确认逻辑无误的方式
我想我下次应该就不会再毫无意义像无头苍蝇那样耗费那么久的时间了,从实际写代码的经历中知道了提前规划代码并不是浪费时间,而是省时间。就像高中时写数学题那样。
以后还会经常反思总结的!
另外我感觉一些知识那里,我每个知识好像写得不够详细,一方面是时间有些吃紧(现在已经是23:53了哈哈哈哈哈,今天晚上看英雄联盟世界赛半决赛去了,blg三比零赢了!很开心!),另一方面是我还不太确定自己要不要把知识写得太详细,毕竟具体细节不清楚的话我也可以翻我在visual studio中的代码或者直接问chatgpt。嗯,还需要纠结一会。
所以这就是今天的记录啦!明天应该就能把STL的所有内容都学完,然后就剩下两个稍微大一(亿)点点的练习项目,看看什么时候再敲一下,然后就能开始啃C++ primer plus了。