破圈!电气工程师闯入软件工程师赛道的转型实录
我做了十多年电气工程师,日常工作是设计、调试各类自动化设备。这工作强度大,经常出差,现场环境脏乱,薪资还不高。反观负责软件的同事,工作环境和压力都好很多。我本身有C语言基础,深思熟虑后,决定利用业余时间学习C# ,转行做软件工程师。咨询过软件工程师后,我制定了一份学习计划。如果有同样想法的朋友,欢迎一起学习,下面是我制定的的学习计划:
第一周: C#语言与.NET框架基础学习 完成Visual Studio集成开发环境的安装与配置
第二周: C#程序架构解析(代码注释规范、命名空间组织、类定义方法、Main方法功能、标识符与关键字使用规范、语句结构语法)
第三周: 变量与常量(数据类型体系、变量声明与作用域、常量定义规范); 表达式构成要素分析; 运算符分类及应用(算术运算、赋值操作、关系判断、逻辑组合、位移处理及特殊运算符)
第四周: 字符处理技术(Char类结构与操作方法); 字符串处理进阶(String类的字符串比较、格式化、截取、分割、插入、删除、复制方法)
第五至六周: 流程控制语句精讲:
o 条件分支(if...else层级判断、switch多路选择)
o 循环结构(while前测循环、do...while后测循环、for计数循环、foreach集合遍历)
o 流程跳转(break中断、continue跳过、goto定向、return返回)
o 异常处理框架(try...catch捕获机制、throw主动抛错、try...catch...finally资源管理)
第七至九周: 数组结构专题:
o 一维/多维数组声明与初始化
o 数组元素操作与遍历方法
o 集合类型对比:ArrayList动态数组与List泛型集合
o 哈希结构应用:Hashtable与Dictionary实现原理
第十至十一周: 面向对象核心要素:
o 属性声明与封装技术
o 方法定义规范与重构原则
o Main方法参数处理与入口设计
第十二至十四周: 类型系统深入:
o 结构体(Struct)特性与使用场景
o 类(Class)的面向对象特征(封装/继承/多态)
o 接口(Interface)的声明规范与实现方式
o 抽象类(Abstract Class)与抽象方法设计模式
o 密封类(Sealed Class)与密封方法限制规则
第十五至十七周: Windows窗体开发:
o 标准窗体(Form)布局设计
o 多文档界面(MDI)架构实现
o 窗体继承机制应用
第十八至二十一周: GUI控件开发体系:
o 控件基础操作(添加/对齐/删除/锁定)
o 文本类组件(Label标签、Button按钮、TextBox文本框、RichTextBox富文本)
o 选择类组件(ComboBox下拉框、CheckBox复选框、RadioButton单选组、NumericUpDown数值框、ListBox列表框)
o 容器类组件(Panel面板、GroupBox分组框、TabControl选项卡)
o 界面辅助组件(菜单栏/工具栏/状态栏)
o 图像列表(ImageList)管理
o 数据展示组件(ListView列表视图、TreeView树形视图)
o 时间选择组件(DateTimePicker日期选择、MonthCalendar月历)
o 高级组件应用(DataGridView数据网格等)
第二十二至二十四: 数据库编程技术:
o 数据库系统基础概念
o ADO.NET数据访问框架
o 数据库连接(Connection)管理
o SQL命令(Command)执行
o 数据读取器(DataReader)应用
o 数据适配器(DataAdapter)配置
o 数据集(DataSet)操作技术
第二十五至二十六周: 程序调试与排错技术:
o 断点调试方法
o 异常追踪策略
o 性能分析工具
第二十七周: 泛型编程专题:
o 泛型类型参数(T)应用
o 泛型接口设计模式
o 泛型方法实现
第二十八至三十周: 文件系统操作:
o System.IO核心类库(File/Directory静态类)
o 文件信息处理(FileInfo/DirectoryInfo)
o 文件操作流程(创建/复制/移动/删除/属性获取)
o 目录管理技术(创建/移动/删除/遍历)
o 流处理机制(Stream类体系)
o 文件存取技术(文本文件/二进制文件读写)
第三十一至三十四周: 网络编程开发:
o 网络协议基础(System.Net)
o Socket套接字编程(System.Net.Sockets)
o 邮件处理技术(System.Net.Mail)
o 网络应用开发实践
第三十五至三十六周: 注册表操作:
o 注册表结构解析(Registry/RegistryKey)
o 注册表管理(读取/创建/修改/删除)
o 注册表应用场景分析
第三十七至三十九周: 多线程编程:
o 线程模型对比(单线程/多线程)
o Thread类操作(创建/挂起/恢复/休眠/终止)
o 线程优先级设置
o 线程同步机制
第四十至四十一周: 帮助系统开发:
o 帮助文件制作规范
o 帮助系统集成应用
第四十二至四十四周: 图形图像处理:
o GDI+绘图基础理论
o 基本图形元素绘制
o 高级图形应用开发
第四十五至四十六周: 部署技术:
o Windows安装项目创建
o 安装程序打包与发布
以上是我的学习计划,大概用一年的时间能够掌握C#语言基本用法编程,有想和我一样从电气转软件的小伙伴可以跟我一起组团学习,互相监督,互相交流促进,我会定期把我的学习内容进行分享。