首页 > 其他分享 >构建之法阅读笔记01

构建之法阅读笔记01

时间:2023-05-26 20:33:05浏览次数:40  
标签:01 软件开发 代码 协作 笔记 软件工程 构建 软件 团队

《现代软件工程构建之法》第一章概论介绍了软件工程的概念、软件危机及其原因,以及现代软件工程的目标、方法和原则。阅读完本章后,我深刻认识到以往自己在软件开发中存在的问题,也对如何提高软件开发的效率和质量有了更深入的思考。
个人感受:我过去是怎样做的
在实际的软件开发过程中,我往往采用的是一种自由、灵活的方式,没有系统地、规范地进行软件工程管理。具体表现为:

代码缺乏统一的风格和规范
经常没有明确的计划和进度安排
缺少详细的文档和注释
没有进行充分的测试
代码版本管理不完善

这种方式虽然看似自由,但实际上存在很多缺陷,导致项目进度缓慢、代码复杂、维护困难等问题。
为什么这样不好
首先,没有统一的风格和规范会导致代码难以维护,增加开发和维护的难度;其次,没有明确的计划和进度安排会使得开发过程难以控制,可能会导致进度滞后,最终影响项目的实施效果;同时,缺少详细的文档和注释,会对软件用户使用和开发者维护造成较大的困扰;另外,缺乏充分的测试,可能会留下隐藏的缺陷,导致软件质量下降;最后,代码版本管理不完善,容易出现代码重复、冲突等问题,导致团队合作难度增大。
解决办法
为了解决这些问题,我认为有两个关键点:
规范化和标准化。在软件开发的过程中,要尽可能的规范化和标准化,确保代码风格统一,计划明确,文档清晰,测试充分,版本管理规范,从而提高软件的可维护性和可扩展性。
团队合作和协作。软件开发很少是一个人的工作,需要团队合作和协作来完成更复杂的任务。在团队中,要建立良好的沟通机制,协作模式和准则,以确保团队成员之间的协作保持良好。
总之,在软件开发中,要高度重视软件工程规范,确保项目进展顺利,软件质量过硬。

标签:01,软件开发,代码,协作,笔记,软件工程,构建,软件,团队
From: https://www.cnblogs.com/DREAM2021/p/17435751.html

相关文章

  • ciscn_2019_n_1
    ciscn_2019_n_1题目分析这题的主要溢出点在于gets(v1),但是这题有两种思路,第一种方法是通过gets函数溢出修改变量v2的值,使v2能够通过if判断语句,执行system函数,第二种方法还是通过gets(v1)溢出,不过这次是通过libc来实现,将ebp覆盖为system函数的地址第一种方法通过学习栈的工作原理,可......
  • 【笔记】macbook m2 芯片中使用 gcc docker 镜像来交叉编译
    作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢!cnblogs博客zhihuGithub公众号:一本正经的瞎扯一个c程序,如何在macbookm2芯片的笔记本上,编译成linuxamd64的二进制格式呢?用gcc的docker镜像轻松的解决了这个问题:#下载gcc镜像,并且是linuxamd64......
  • Java笔记(十):函数式接口
    函数式接口有且仅有一个抽象方法的接口JDK8中,只有一个抽象方法的接口称为函数式接口,我们就能使用Lambda。针对一个接口中,是否有大于一个抽象方法?JDK8为我们新增了一个注解:@FunctionalInterface。它能够帮助我们检测这个接口是不是只有一个抽象方法,如果有两个抽象方法,则会报......
  • Java笔记(九):线程池
    三大方法Executors.newSingleThreadExecutor();//单个线程Executors.newFixedThreadPool(5);//固定的线程池大小Executors.newCachedThreadPool();//可伸缩的以上底层都是由ThreadPoolExecutor实现阿里开发手册:线程池不允许使用Executors去创建,而是通过ThreadP......
  • kissat分析01_基本数据结构03_frame_trail
      frame.h1#defineINVALID_TRAILUINT_MAX23structframe4{5unsigneddecision;6unsignedtrail:LD_MAX_TRAIL;7unsignedused:2;8boolpromote:1;9};1011//*INDENT-OFF*1213typedefSTACK(frame)frames;1415//*I......
  • 考古笔记6:单臂路由子接口实现VLAN间通讯
    拓扑构成拓扑:配置过程配置信息:R1R1#conftEnterconfigurationcommands,oneperline.EndwithCNTL/Z.R1(config)#interfacef0/0R1(config-if)#noshutR1(config-if)#interfacef0/0.1R1(config-subif)#encapsulationdot1Q10//后面的数字1代表是的侦听VLAN号为10......
  • 渲染管线导论(龙书笔记)
    渲染管线总体流程InputAssembler(IA)->VSShader(VS)->HullShader(HS)->TessellatorStage->DomainShader(DS)->GeometryShader(GS)->[StreamOutput(SO)]->Rasterizer(RS)->PixelShader(PS)->OutputMerget(OM)输入(图元)装配->......
  • 学习笔记-第08天-命令合集7
    属性:人的属性:性别,身高,体重,年龄。文件的属性:大小,用户,组,权限,创建时间。[root@localhost~]#stat/etc/hostsFile:‘/etc/hosts’Size:158 Blocks:8IOBlock:4096regularfileDevice:802h/2050d Inode:67109833Links:1Access:(0644/-rw-r--r......
  • DAY14笔记及补充
     今日默写: 1.描述下Java运行原理全流程 2.描述下变量的定义及赋值方式 3.描述下常量的命名规范 4.java的技术类型种类 5.java基本数据类型中哪两种赋值时需要加入特殊标记后缀,分别是什么类型 6.java的引用类型如何定义并赋值 7.描述下自动转换类型中 int和double类型的......
  • JMeter01 - 性能测试初识
    性能测试初识软件测试分类按照测试内容分类功能测试:业务流程是否正常实现性能测试:关注各种性能指标是否符合设计预期负载测试、压力测试、性能测试、大数据量测试、可靠性测试等安全测试:由网络安全工程师参与,比如模拟各种“注入”其他:易用性测试、安装测试、恢复测试、......