读《构建之法》有感
我今年暑假回去就要升入大二了,在今年的专业分流时,我选择了软件工程专业,起初的想法很简单,做一款优秀的,能拥有大量用户的软件,甚至还想通过自己的软件改变人们的生活。读了构建之法后,我发现并不是那么的简单。
我看了构建之法后,才知道了程序=算法+数据结构,软件=程序+软件工程的概念,这打破了我以往对软件的认知,做一款好的软件,要熟练的掌握算法和数据结构,学会从工程的角度思考问题。还学会了一个重要思想,做中学,当你真正上手一个项目的同时你会发现,你有不会的技术,你更有没见过的技术,你不可能等学完所有的技术再去做项目,什么不会学什么,这不像期末考试一样,拿来一张卷子,让你做足了准备去答题,对于软件工程的学生来说,凭借试卷来毕业是不可能的,重要的是能做多少项目,掌握多少技术,这是关键,以后我一定要摆脱试卷考试的思想,始终有做工程的观念。
其实书中的一些讲解我现在的理解还不是那么深刻,像软件设计流程,毕竟我还没有真正意义上的完成一个项目
还没接触过软件开发,软件需求分析,软件设计,软件构造,软件测试等。
想要成为一名优秀的软件工程师,代码量是一定要保证的,代码敲的少,你见过的bug就少,甚至连软件开发工具都用不熟练,这是绝对不行的,敲代码不能没有逻辑的敲,要分析完之后,做一个合理的分解,这样的思想同样适用于软件开发,前端后端,dao层,service层,三层架构,我觉得这都是拆分并且再组合的思想,这样才能让软件设计的思路更加的清晰,而不是一锅粥的去乱写代码,这其实就是算法思想,设计一个最优流程去完成某件事。
书中还讲了团队的重要性,这是非常必要的,因为一款优秀的软件不可能由一个人开发,软件团队可以大大加快开发速度,解决更多的bug,不断维护软件,团队的交流就显得十分重要,但现在我的认识还不是太深,因为没有组建过团队,不明白团队开发的流程,我想在今后的日子里我会慢慢体会到团队的重要性。
掌握熟练的算法与数据结构,学会软件工程,带着做中学的思想,与软件团队的人进行良好的沟通,不断的写代码,总结,写博客,改bug,不断使自己学习新的技术,向着成为一名优秀的软件工程的目标不断前进。做一个小小的憧憬,将来中国乃至世界,一定会有人使用着我和团队成员们开发的优秀的软件,用户必将有着良好的体验,我们的软件一定会在某个方面改变着人们的生活。

学习JAVAWEB第三十七天(读构建之法有感)的更多相关文章

  1. 8th 对软件工程的理解(读构建之法有感)

    对于任何一个学计算机的人来说,软件都不陌生,甚至于一个普通的朝九晚五的上班族,他的每日生活工作也都与软件有着密不可分的关系.然而,程序又是如何从一行行指尖留下的代码,机器存储的数据变成快捷高效的软件的 ...

  2. 2nd 阅读构建之法有感

    阅读构建之法有感 利用这一周的时间,我大致了解构建之法一书,这本书带我走进了一个全新的领域.它让我以一种新的视角去了解软件产业的发展和工作,领略软件工程的独特魅力,更给出了简单易懂的方式去理解何为软件 ...

  3. Dynamic CRM 2013学习笔记(三十七)自定义审批流7 - 初始化(整套审批流下载、安装)

    前面介绍了自定义审批流的配置.使用,这篇介绍下如何进行初始化. 一. 下载 从下面的地址下载整个审批流: http://yunpan.cn/cZ5Rdx5HCt3VF 下载完后,一共有三块内容: 二. ...

  4. C# Lambda 表达式学习之(三):动态构建类似于 c => c.Age == null || c.Age > 18 的表达式

    可能你还感兴趣: 1. C# Lambda 表达式学习之(一):得到一个类的字段(Field)或属性(Property)名,强类型得到 2. C# Lambda 表达式学习之(二):LambdaExp ...

  5. week1读构建之法-读书笔记

    最开始听见杨老师说邹欣老师这个名字总觉得很熟悉,后来看见博客上老师的头像恍然大悟,原来机缘巧合已经在微博上关注邹老师许久,一直觉得邹老师是个很有意思的人,兴趣一定十分广泛,看了老师的书确实能感觉到邹老 ...

  6. [extjs5学习笔记]第三十七节 Extjs6预览版都有神马新东西

    本文在微信公众号文章地址:微信公众号文章地址 本文地址:http://blog.csdn.net/sushengmiyan/article/details/45190485 [TOC] 在Ext JS ...

  7. 学习JAVAWEB第三天

    ## 数据库的设计· 1. 多表之间的关系 1. 分类: 1. 一对一(了解): * 如:人和身份证 * 分析:一个人只有一个身份证,一个身份证只能对应一个人 2. 一对多(多对一): * 如:部门和 ...

  8. Unity3D学习笔记(三十七):顶点偏移和溶解

    顶点偏移 沿向量方向偏移,沿自身坐标系方向偏移 沿法线方向偏移,球体放大,立方体拆分 Shader "Lesson/VFVertOffsetVertex" { Properties ...

  9. 【WPF学习】第三十七章 触发器

    WPF中有个主题,就是以声明方式扩展代码的功能.当使用样式.资源或数据绑定时,将发现即使不使用代码,也能完成不少工作. 触发器是另一个实现这种功能的例子.使用触发器,可自动完成简单的样式改变,而这通常 ...

随机推荐

  1. 【LeetCode】944. Delete Columns to Make Sorted 解题报告(Python)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 日期 题目地址:https://leetcode.c ...

  2. 【LeetCode】203. Remove Linked List Elements 解题报告(Python)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 双指针 递归 日期 题目地址:https://lee ...

  3. 【LeetCode】190. Reverse Bits 解题报告(Python & C++)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 解题方法 二进制字符串翻转 位运算 日期 题目地址:https://le ...

  4. 1326 - Race

    1326 - Race   PDF (English) Statistics Forum Time Limit: 1 second(s) Memory Limit: 32 MB Disky and S ...

  5. POJ 3264:Balanced Lineup(区间最值查询ST表&线段树)

      Balanced Lineup Time Limit: 5000MS   Memory Limit: 65536K Total Submissions: 75294   Accepted: 344 ...

  6. FreeSql.Provider.SqliteCore如何加密

    FreeSql.Provider.SqliteCore 是FreeSql基于微软提供的最新的Microsoft.Data.Sqlite.Core驱动的实现. 支持的版本 .NETStandard2.0 ...

  7. AUGMIX : A SIMPLE DATA PROCESSING METHOD TO IMPROVE ROBUSTNESS AND UNCERTAINTY

    目录 概 主要内容 实验的指标 Dan Hendrycks, Norman Mu,, et. al, AUGMIX : A SIMPLE DATA PROCESSING METHOD TO IMPRO ...

  8. SpringCloud创建Eureka模块

    1.说明 本文详细介绍Spring Cloud创建Eureka模块的方法, 基于已经创建好的Spring Cloud父工程, 请参考SpringCloud创建项目父工程, 在里面创建Eureka模块, ...

  9. python使用String的Template进行参数动态替换

    1.前言: 之前使用string的find(),从指定的param里面查找,是否包含了某个字符,有的话,使用replace进行替换,一个接口的param要替换的参数少的话,使用这种方式,的确可行,如果 ...

  10. java中的spi

    JAVA中的SPI机制 1.SPI简介 SPI机制(Service Provider Interface)其实源自服务提供者框架(Service Provider Framework),是一种将服务接 ...