读《构建之法》有感
我今年暑假回去就要升入大二了,在今年的专业分流时,我选择了软件工程专业,起初的想法很简单,做一款优秀的,能拥有大量用户的软件,甚至还想通过自己的软件改变人们的生活。读了构建之法后,我发现并不是那么的简单。
我看了构建之法后,才知道了程序=算法+数据结构,软件=程序+软件工程的概念,这打破了我以往对软件的认知,做一款好的软件,要熟练的掌握算法和数据结构,学会从工程的角度思考问题。还学会了一个重要思想,做中学,当你真正上手一个项目的同时你会发现,你有不会的技术,你更有没见过的技术,你不可能等学完所有的技术再去做项目,什么不会学什么,这不像期末考试一样,拿来一张卷子,让你做足了准备去答题,对于软件工程的学生来说,凭借试卷来毕业是不可能的,重要的是能做多少项目,掌握多少技术,这是关键,以后我一定要摆脱试卷考试的思想,始终有做工程的观念。
其实书中的一些讲解我现在的理解还不是那么深刻,像软件设计流程,毕竟我还没有真正意义上的完成一个项目
还没接触过软件开发,软件需求分析,软件设计,软件构造,软件测试等。
想要成为一名优秀的软件工程师,代码量是一定要保证的,代码敲的少,你见过的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】529. Minesweeper 解题报告(Python & C++)

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

  2. CODEFORCEs 621E. Wet Shark and Blocks

    E. Wet Shark and Blocks time limit per test 2 seconds memory limit per test 256 megabytes input stan ...

  3. 1142 - Summing up Powers (II)

    1142 - Summing up Powers (II)    PDF (English) Statistics Forum Time Limit: 2 second(s) Memory Limit ...

  4. Boost的反射库PFR

    目录 目录 简介 使用方法 限制 总结 简介 Boost.PFR是一个Boost 1.75版本出的C++14的基础反射库,其使用非常简单,非常便捷,但是适用性也比较差,有很多的地方无法使用,适合比较简 ...

  5. 使用.NET 6开发TodoList应用(11)——使用FluentValidation和MediatR实现接口请求验证

    系列导航及源代码 使用.NET 6开发TodoList应用文章索引 需求 在响应请求处理的过程中,我们经常需要对请求参数的合法性进行校验,如果参数不合法,将不继续进行业务逻辑的处理.我们当然可以将每个 ...

  6. Conditional Generative Adversarial Nets

    目录 引 主要内容 代码 Mirza M, Osindero S. Conditional Generative Adversarial Nets.[J]. arXiv: Learning, 2014 ...

  7. CS5210完全替代AG6202|HDMI转VGA芯片+原理图|替代兼容AG6202

    安格AG6202是一个HDMI转VGA不带音频解决方案,用于实现HDMI1.4高分辨率视频转VGA转换器.Capstone  CS5210不管在性能上和设计参数上面都是可以完全替代安格AG6202,且 ...

  8. Java初学者作业——声明变量对个人信息进行输入和输出

    返回本章节 返回作业目录 需求说明: 声明变量存储个人信息(姓名.年龄.性别.地址以及余额),通过键盘输入个人信息并存储在相应的变量中, 最后将个人信息输出. 实现思路: 声明存储姓名.年龄.性别.地 ...

  9. linux端口开放关闭 firewalld 使用

    systemctl status firewalld # 查看防火墙状态 firewall-cmd --zone=public --add-port=27017/tcp --permanent # m ...

  10. XML解析和创建的JAXB方式

    1.说明 JAXB是Java Architecture for XML Binding, 即用于XML绑定的Java体系结构, JAXB作为JDK的一部分, 能便捷地将Java对象与XML进行相互转换 ...