写点什么

我的编程之路 -3(熟练)

用户头像
顿晓
关注
发布于: 2020 年 05 月 12 日
我的编程之路-3(熟练)

我的编程之路-1(启蒙)



上篇我的编程之路-2(首秀)说到,这个项目改变了我剩下的大学生活,因为有这次经历,我们班导师有个项目需要找个人编码,而我是唯一有实际编码经验的,所以很顺利就选上我了。


这个项目还是用VC++ 6.0,这几乎是那时Windows上项目的标配,也需要做个界面,当然就是MFC了。



这些对我已经是轻车熟路了,唯一不熟悉的是串口编程,不过这也不难,去源码共享网站上找,能找到不少。集成到项目中,很快就看到效果了。



简单介绍下项目背景:这是导师的研究课题,六自由度机器人控制,也是我们院的重点课题之一。项目由他带的一个研究生来负责,但这位师兄是从非计算机专业考到计算机研究生的,所以编程上自己搞不定。



控制算法导师已经封装成`.so`库文件了,我只需调用获取到下一条指令;然后将指令转换为步进电机控制协议,通过串口发送过去。看点是在操作界面上,展示一张位图,然后机械臂可以把这张图雕刻出来,界面能够同步仿真雕刻的进度。最后的效果演示是这一块肥皂上雕刻了一个汉字。



这次项目总算成功了,导师和研究生师兄都很满意。我呢,增加了熟练程度,尤其是单步调试,对内存布局有了直观的认识。



但这手动把代码调通,还是给自己留下了不好的印象,尤其是简单的控制协议转换,没有一次是一遍过的,总有哪没有考虑到,靠Debug来找出问题。总之,这不是我喜欢的编程,或者,可能我就不喜欢编程?碍于当时的水平,也不可能知道问题在哪,但由这个疑问引发的好奇心一直驱动我探索到现在。


60分万岁。



前面说,这些项目改变了我的大学生活;的确,因为我每天关注的都是项目,以及引发的一些思考。几乎没有把时间投入到学习的课程中,以至于感觉到学校和我是在平行的两个世界。



这也直接导致我的毕业成绩单上有几乎一半的科目都是60分,我们班没有人比我的60分更多。当然,我也很感激学校老师手下留情,实际分数肯定是不够60分的。



那时,学习资料的来源少,网上就是逛论坛,但论坛里大多是初级问题,已经不能引起我的兴趣了;剩下的就是图书馆了,所以也养成了定期去图书馆的习惯,希望能找到一本给我解惑的书。



VC++例子讲解的书可以直接Pass了,一股新气息吸引了我--《Effective C++》《Accelerated C++》《C++ Templates: The Complete Guide》《C++ Primer》《Programming Pearls (编程珠玑)》等等。



我折服于 C++ 的博大精深,和这些作者的出众才华,开启了我的从入门到放弃之路。


照旧给这个阶段的同学一些建议:



渡过新手期的新鲜和压力后,会进入快速的熟练期。熟练可以随着继续做类似的项目而自然增长,也可以通过一些方法稍加练习,或刻意练习来快速达到熟练的目的。



如果提高效率感兴趣,或者对现状有压力的同学可以试试下面的几个方法:



  1. 尽可能记录自己完成工作的步骤

  2. 可以从简单的 HowTo 文档开始,这样一来可以给自己做备忘,下次遇到同样的问题可以照着文档做,效率提高了一大截;再者,也可以把文档分享给团队,提高团队的效率;

  3. 在 HowTo 的基础上,如果能自动化的步骤,可以封装脚本来自动化执行;

  4. 如果存在大量模版代码,可以考虑做个CLI来自动生成代码,或者做成 Snippet

  5. 进一步可以自己提炼最佳实践,或者网上搜索最佳实践来引入项目中。


我的编程之路-4(进阶)

我的编程之路 -5(停滞)

我的编程之路 -6(新时代)

我的编程之路 -7(T型人才)

发布于: 2020 年 05 月 12 日阅读数: 167
用户头像

顿晓

关注

因观黑白愕然悟,顿晓三百六十路。 2017.10.17 加入

视频号「编程日课」 一个不爱编程的程序员, 一个用软件来解决问题的工程师, 一个有匠心的手艺人。

评论 (1 条评论)

发布
用户头像
好事多磨,成功者总是在不断的发现问题和找方法解决问题。
2020 年 05 月 14 日 18:20
回复
没有更多了
我的编程之路-3(熟练)