代码抽象

简介:

有时候你会发现,一个项目,第一次写经常是是按函数式编程 ,写的功能越多,确发现,代码重复太多,某一个东西应该提取出来写成一个工具类。但是为什么前期没能构思出这个类呢?

如何从一个庞大的功能里分离出一些对象,这些对象有较强的内处理,不毕让外界知道,他只提供给外界一个主要的功能,而不是与主功能混为一谈。

1.做流程图(重中之重)

做流程图,是没有写代码之前的工作,这里可以看到大概逻辑。如果有相似的功能,至少要做两个功能的流程图,才能构思出,功能相同的代码,是否需要定义全局函数或者对象等。这做作流程图,我觉得用纸做会比较好一点

2.确定什么是工具,什么是实际实现。

多写写文档,全面分析。

相关文章
|
移动开发 监控 小程序
钉钉工作台开放能力建设阶段性总结
工作台的平台化开放能力建设已经走了近3年的时间,包括定制工作台的开放、工作台模板的开放、工作台组件的开放等等。本文主要是对过程中一些关键能力的总结和思考,欢迎交流。工作台的类型工作台作为企业业务数字化的统一门户,是组织用于提升管理效率、实现业务在线的平台。工作台的组织就是钉钉上的组织,针对不同的组织规模,提供了多种类型工作台:角色工作台、行业工作台和自定义工作台。角色工作台是对不同的角色,例如财务
1384 0
钉钉工作台开放能力建设阶段性总结
|
数据采集 大数据 数据挖掘
DataHub应用场景有哪些?
本文为您介绍DataHub三大应用场景,主要场景包括:实时数据通道、实时数据清洗和分析、实时数据仓库。
1318 0
|
机器学习/深度学习 人工智能 算法
【乐器识别系统】图像识别+人工智能+深度学习+Python+TensorFlow+卷积神经网络+模型训练
乐器识别系统。使用Python为主要编程语言,基于人工智能框架库TensorFlow搭建ResNet50卷积神经网络算法,通过对30种乐器('迪吉里杜管', '铃鼓', '木琴', '手风琴', '阿尔卑斯号角', '风笛', '班卓琴', '邦戈鼓', '卡萨巴', '响板', '单簧管', '古钢琴', '手风琴(六角形)', '鼓', '扬琴', '长笛', '刮瓜', '吉他', '口琴', '竖琴', '沙槌', '陶笛', '钢琴', '萨克斯管', '锡塔尔琴', '钢鼓', '长号', '小号', '大号', '小提琴')的图像数据集进行训练,得到一个训练精度较高的模型,并将其
412 0
【乐器识别系统】图像识别+人工智能+深度学习+Python+TensorFlow+卷积神经网络+模型训练
|
人工智能 缓存 搜索推荐
OPENAI DevDay 2024:推动AI技术的新边界
在今年的OPENAI DevDay活动中,尽管形式更为低调,但OpenAI依然带来了四项令人瞩目的技术创新,展示了其在推动人工智能开发者生态方面的持续努力,以及向更高效、用户友好的AI工具转型的决心。我将为大家详细介绍这些新产品
626 10
|
安全 前端开发 关系型数据库
PHP:ThinkPHP5.0下载安装和各种配置
PHP:ThinkPHP5.0下载安装和各种配置
1221 0
|
定位技术 开发工具
openGPS.cn - 基于ip的定位技术分享,高精度IP定位
利用业余时间自己做了个网站,集成了几个第三方数据源,对比IP地址查询的功能: 普通IP定位:https://www.opengps.cn/Data/IP/IPSearch.aspx 高精度IP定位:https://www.opengps.cn/Data/IP/IPHighAccuracy.aspx 其中,高精度IP定位为百度提供的服务,个人理解其工作原理应当是: 1,用户手机里
7322 1
|
存储 Oracle Java
【Java系列】JDK1.8新特性
Java8(又称为 jdk 1.8) 是 Java 语言开发迄今为止的一个最主要和用户最多的一个版本。Java8是Oracle公司于2014年3月18日发布 ,它不仅支持函数式编程,而且还拥有新的日期 API,Stream API 等操作,下面胖虎带领大家一探究竟Java 8的一些新特性。 1.Lambda表达式 2.添加默认方法 3.Stream操作 4.Optional 类 5.Java时间API Lambda 允许把函数作为一个方法的参数,使用Lambda表达
530 0
【Java系列】JDK1.8新特性
|
NoSQL 安全 API
多账号统一登陆,怎么实现?
现在几乎大部分的 App 都支持使用多个第三方账号进行登录,如:微信、QQ、微博等,我们把此称为多账号统一登陆。而这些账号的表设计,流程设计至关重要,不然后续扩展性贼差。 本文不提供任何代码实操,但是梳理一下博主根据我司账号模块的设计,提供思路,仅供参考。
1078 0
多账号统一登陆,怎么实现?
|
传感器 人工智能 监控
复盘|成宜高速:让出行体验“云上速度”
2016年以来,国家持续在智慧交通领域加强顶层设计和投入。作为四川省大力支持的新基建示范工程和交通强国建设试点路段,成宜高速在全国乃至全球智慧交通领域都颇具代表性。 成宜高速的建成,让成都平原经济区与川南经济区有了最便捷的通道,同时,该项目运用物联网、AI感知、高精度定位、数字孪生等创新技术,解决了诸多传统建设手段解决不了的难点。 这条“157公里全线覆盖车路协同”的智慧高速,开启了智慧交通发展的新里程。
1476 0
复盘|成宜高速:让出行体验“云上速度”
|
安全 jenkins 持续交付
Jenkins 用户角色权限管理
Jenkins 一般用作团队项目持续集成环境,所以就会设计多用户的情况,我们需要为不同人员设置不同的角色,进行权限管理。
Jenkins 用户角色权限管理