代码的可维护、便于重构性

昨天写代码,思考了参数写死不写死的问题。路径参数,一般是有一个根据计算得到的绝对路径,然后再搭配相对路径。

为了便于维护、重构:

1.现实场景,现实中我需要修改某个函数功能。那么,我希望我的代码修改得越少越好。即我涉及到的功能,同一层级的都全部相对独立,不要互相干涉(第一层调用算第一层;调用函数再调用算第二层。最上层函数算0层)。

2.基本功能函数做到单一,不得以不要有交叉;(底层函数);

3.函数要考虑被使用的场景,如果一个函数只为一个场景服务,那就写死;否则不要写死。

举例子,层层解压,并移动的小功能块。

第一步:划分为子功能:解压操作、移动操作;上层功能的构建,利用逻辑对某一个文件路径下的某个压缩包(包内可能还有压缩)进行解压;【此时需要考虑再加一个递归检索压缩包的子功能】。

第二步:考虑功能场景。

1.解压操作是要解压不同压缩格式的,所有可以考虑不写死,可以考虑让传入压缩格式(如果解压库函数需要指定的话)//也可以构建一个解压所有格式的函数,把对压缩包格式判断放解压函数内。我觉得放解压函数内好,因为它对外提供了一个尽可能简单的接口(让别人用的时候,不用考虑提取格式,少了一段代码,用起来舒服),同时实现的功能相同;2.可以考虑让提供一个解压目的地,因为解压人可能需要解压到不同的目的地。应该判断路径是否存在,不存在返回错误,不会生成路径?第一要考虑对方输入路径错误、第二,如果增加了生成路径的功能,解压操作就不纯粹了?

2.场景划分角度很重要。

将待处理文件划分为.7z 或者 非.7z,可能每一类内就会有特殊情况;按功能划分就会好点。

将待处理情况分类,尽量每一类内情况类似;且有个前提:各个类别可扩展性要好!

 

待思考

移动操作,如果永远移到根目录,就写死;有不同的目的地,就不写死。

代码书写过程中,我们往往根据直觉(某个库函数可以怎么用),这个函数返回是一个list就模糊着写了。还应该进一步思考,每一步中变量的类型;变量的维度。这又需要对一门语言,语法规则的详细了解而不是简单的入门说明。这样才能尽量减少代码bug

待续

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
资源包主要包含以下内容: ASP项目源码:每个资源包中都包含完整的ASP项目源码,这些源码采用了经典的ASP技术开发,结构清晰、注释详细,帮助用户轻松理解整个项目的逻辑和实现方式。通过这些源码,用户可以学习到ASP的基本语法、服务器端脚本编写方法、数据库操作、用户权限管理等关键技术。 数据库设计文件:为了方便用户更好地理解系统的后台逻辑,每个项目中都附带了完整的数据库设计文件。这些文件通常包括数据库结构图、数据表设计文档,以及示例数据SQL脚本。用户可以通过这些文件快速搭建项目所需的数据库环境,并了解各个数据表之间的关系和作用。 详细的开发文档:每个资源包都附有详细的开发文档,文档内容包括项目背景介绍、功能模块说明、系统流程图、用户界面设计以及关键代码解析等。这些文档为用户提供了深入的学习材料,使得即便是从零开始的开发者也能逐步掌握项目开发的全过程。 项目演示与使用指南:为帮助用户更好地理解和使用这些ASP项目,每个资源包中都包含项目的演示文件和使用指南。演示文件通常以视频或图文形式展示项目的主要功能和操作流程,使用指南则详细说明了如何配置开发环境、部署项目以及常见问题的解决方法。 毕业设计参考:对于正在准备毕业设计的学生来说,这些资源包是绝佳的参考材料。每个项目不仅功能完善、结构清晰,还符合常见的毕业设计要求和标准。通过这些项目,学生可以学习到如何从零开始构建一个完整的Web系统,并积累丰富的项目经验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值