软件开发工程师进阶之路(二)

目录

1.由C#入门到搁置

2.windows桌面应用到windows服务


        整理一下个人的成长经历,入门——>做产品——>跨平台——>... ...

1.从C#入门的桌面软件开发

        从16年参加工作到编辑本文为止,C#作为博主最常用的语言,对于C#也只能说的上是熟悉语法,至于是如何上手这门语言的,只能说是通过各种搬运代码,通过看一些教程达到学习语法的目的,然后去完成工作中的任务(我想可能大部分同学也都是如此,对新知识进行简单了解,然后在别人的轮子上稍加修改,就能做出简单的东西)——快餐式学习

        而随着在目前公司部门的变更,可能需要将C#这门语言搁置起来,重新去熟悉C++(原因是C#与Windows系统的绑定过于紧密,需要实现跨平台),近期在整理之前遇到的C#相关问题时,发现了一个严重的问题,就是对于很多一部分基础概念还不甚清楚。除了写逻辑代码的其他概念如事件、委托、锁、多线程、泛型等只是停留在会简单套公式的地步,而对于个中流程可能在不参考别人代码前提下自己都写不下来(这就是不自己造轮子带来的后果,知其然而不知其所以然,所以换一个场景或者全新代码结构下,就不知道如何下手了),这样的情况对于短期目标软件架构师来说怎么可以允许呢?

        A.鉴于这种情况,认为跟上学时期是一样的,例如物理、化学课(实际工作中的某个功能模块),我们在学习章节(实现功能模块所需语法、概念等其他知识点)时,对本节中的例题(别人的轮子)有一个大致的认识,而在做课后题(与轮子类似的自身的工作内容)时可以翻看例题(直接复制别人代码并进行轻微修改)亦会较为顺手。而闭卷考试(新场景且无大致相同的轮子)中考察这部分知识点的题目是和例题、课后题不同的,这时候才是检验基本功是否扎实,是否对已学知识达到一个活学活用的程度。这也是为什么在学校中要求我们去复习,学而时习之;也是为什么在学校中要求做大量的练习题,亦是为了强化、重复知识点。

        B.这里又扯到了学习方法,实际工作中,这样的机会毕竟很少,很多代码是写完不出bug的情况下一年半载都不会再去回顾的东西,这就需要抽空去总结回顾(抽空在解决问题的过程中,或解决问题之后去深究,个人认为解决问题后深究会有更深的理解,当然是在忘记该问题之前),最终达到知其所以然的程度,而并不仅仅停留在知其然的阶段。

        C.若是通过快速学习获得的能力,一定一定一定要对知识进行系统化,比如C#可以把微软文档中的编程指南过一遍,多个C#教程平台如菜鸟、W3School等等记录的知识点过一遍,最好的方式当然还是去看一本近代的销量较高的编程书籍(用于强化知识点也是很好的途径)

————————————————分割线(2021.11.18)—————————————————

2.桌面应用

        

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值