ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、视频、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
## 第一部分 1. 知识只有用才不会忘,忘了就忘了吧,没有什么大不了,只要有学习新知识的能力. 2. 目标决定行动. ![](https://box.kancloud.cn/79202787c3210f8abda334fd4753452f_1280x720.png) 3. 主动做项目,最好是商业项目. ![](https://box.kancloud.cn/6d27e5b9b33c5280ad2940dabc6dbe7b_1280x720.png) 4. 做项目的时候要注意控制项目的规模,做完项目后有针对性的阅读一些理论和技术书籍,进行反思. 然后换一个领域,进行学习的循环.不论在哪个阶段,都不要放弃理论的学习.自学路线要动态调整,并且要自己找寻. ## 第二部分:程序是怎么编写出来的 1. 先弄明白,程序是怎么写出来的,才能知道编程的本质. ![](https://box.kancloud.cn/fabc3bf023df23e741793376a221ef15_1280x720.png) 2. 程序通常来说就是对数据进行加工,处理和转换的工具. 3. 写程序的第一步就是就明白要解决的问题是什么,这就说明要把需求弄明白.在实际项目中,问题定义是非常困难的,同一个概念,同那个一个术语不同的人都有不同的理解.把需求弄清楚,对需求进行分析并找到解决的方法. 4. 所有需要程序处理的数据通常都有要处理的原始数据,所以对问题的分析就清楚要处理的数据有哪些特性开始. 5. 人解决问题的方式和计算机解决的方式是不一样的,专门为计算机解决问题的方式就叫算法. 6. 数学与算法的关系. 先形成一个解决特定问题的算法,才能构建出解决特定稳定的软件,如果程序员没有不具备相关的数学能力,是不具备解决特定的能力,但是有很多人已经把解决问题的方法写成了库了,只要会调用就行了,这样就降低了对数学的能力了.如果开发者具有扎实的数学基础就可以成为优秀的开发者了.学习数学能训练逻辑能力,逻辑能力就能写出好的代码. ![](https://box.kancloud.cn/195991edd7b8f9124fa2dc41f8de6bee_1280x720.png) 7. 设计阶段,设计阶段的主要作用就是绘制出软件大厦的建筑图,只要照图施工,就你能开发出软件. ![](https://box.kancloud.cn/7c2460cab58d3277f61f86ae68d67fcf_600x338.png) ![](https://box.kancloud.cn/867f07858df5d4597448976055e3fdc5_600x338.png) 8.