热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

重构,该不该大刀阔斧

最新开始做游戏了,没有用框架,纯手写的,写了几星期发现越写越乱了,现在打算重构一遍,应该遵循什么原则呢?对于有好多子类的应不应该改接口呢?改的话动作太大了。
最新开始做游戏了,没有用框架,纯手写的,写了几星期发现越写越乱了,现在打算重构一遍,应该遵循什么原则呢?对于有好多子类的应不应该改接口呢?改的话动作太大了。

9 个解决方案

#1


重构是一个时刻和持续的过重,你现在还不重构一下,后面更是寸步难移了

#2


差不多有同样的感觉吧。。
我做的是一套完成的商品上传的流程。
现在代码暂时是没有发现bug了,但是在对上传规则进行添加新功能或者修改的时候,找到相应的那段需要的代码特别累,而且改起来也特别的麻烦。
不过还是坚持在一点点的改,我估计如果改到符合我现在的这样审美要求的话,需要花大约4整天。
结合师父教我的以及自己的心得。总结几条,
第一,三层的结构一定要清晰,最上层只留一个最基本的调用方法,方法的代码行数不超过10行,最底层也是最基本的操作方法,代码也尽量的少。中间的service层尽量的多,尽量的全。
第二,service层可以创建一些servicehelper。service层可以相互多调用。
第三,注释尽量多,你懂得。
第四,每种方法尽量的简短,每种方法最好不要超过20行。当然,只有本类才会调用的声明为私有的除外。

#3


重构,那得看你的架构 是不是很复杂或者说连架构都没有,太凌乱的话 你就有的受了

#4


你自己将现有的代码类型划分归类.架构嘛,也就那么几个层次,什么数据层(Entity),DAO,Service.服务器的应用就这么几个类了.如果没有使用现有的服务器中间件的话,最好少用接口,因为抽象和具体就会增加现有程序的数量和纷杂,可以在后面再跟进.

其实你需要的就是整理出一个分层结构体.

增加结构的安全分布性时,使用抽象和具体两种技术.

这样就是你需要的自己建立的程序体系,也就是你的数据架构了.

#5


楼主现在应该能体会到设计模式的好处了吧。。如果你不重构的话,以后维护代码会越来越慢。

#6


如真的是乱七八糟一大堆的话,还是全部重构下的好。该接口的接口,该继承的继承,把层次分清,善用设计模式。再一个就框架了,有合适的框架还是推荐用一下,如果没有,可以在重构的时候自己造个轮子。当然这个轮子也许只适用于你现在的这个项目,但是在下个项目用的时候你就会继续改造这个轮子,久而久之你的项目也就条理清晰了。

#7


现在感觉凌乱,不重构以后会更凌乱

#8


建议看下这本书 重构:<<改善既有代码的设计>>

#9


追寻低耦合高内聚

推荐阅读
  • 深入浅出:Hadoop架构详解
    Hadoop作为大数据处理的核心技术,包含了一系列组件如HDFS(分布式文件系统)、YARN(资源管理框架)和MapReduce(并行计算模型)。本文将通过实例解析Hadoop的工作原理及其优势。 ... [详细]
  • 本文档提供了详细的MySQL安装步骤,包括解压安装文件、选择安装类型、配置MySQL服务以及设置管理员密码等关键环节,帮助用户顺利完成MySQL的安装。 ... [详细]
  • Golang与微服务架构:构建高效微服务
    本文探讨了Golang在微服务架构中的应用,包括Golang的基本概念、微服务开发的优势、常用开发工具以及具体实践案例。 ... [详细]
  • 本文介绍了如何使用Workman框架构建一个功能全面的即时通讯系统,该系统不仅支持一对一聊天、群组聊天,还集成了视频会议和实时音视频通话功能,同时提供了红包发送等附加功能。 ... [详细]
  • FTP作为一种传统的文件传输协议,广泛用于不同设备间的文件交换。然而,随着网络安全需求的提升及传输效率的要求,选择合适的FTP客户端变得尤为重要。本文将介绍如何利用WinSCP这款强大且安全的工具,实现两台电脑之间的文件高效传输。 ... [详细]
  • 微服务自动化.dockercompose
    目录一、docker-compose二、docker-compose安装与配置1、修改docker.service2、下载文件3、将刚才下载的docker-compose文 ... [详细]
  • 本文详细介绍了跨站脚本攻击(XSS)的基本概念、工作原理,并通过实际案例演示如何构建XSS漏洞的测试环境,以及探讨了XSS攻击的不同形式和防御策略。 ... [详细]
  • 本文探讨了如何在使用Cucumber JVM和Selenium WebDriver进行自动化测试时,有效地管理AutoIT实例,特别是在并行测试环境中处理文件上传的问题。 ... [详细]
  • 构建高性能Feed流系统的设计指南
    随着移动互联网的发展,Feed流系统成为了众多社交应用的核心组成部分。本文将深入探讨如何设计一个高效、稳定的Feed流系统,涵盖从基础架构到高级特性的各个方面。 ... [详细]
  • 本文详细介绍了在 Windows 7 上安装和配置 PHP 5.4 的 Memcached 分布式缓存系统的方法,旨在减少数据库的频繁访问,提高应用程序的响应速度。 ... [详细]
  • 深入解析轻量级数据库 SQL Server Express LocalDB
    本文详细介绍了 SQL Server Express LocalDB,这是一种轻量级的本地 T-SQL 数据库解决方案,特别适合开发环境使用。文章还探讨了 LocalDB 与其他轻量级数据库的对比,并提供了安装和连接 LocalDB 的步骤。 ... [详细]
  • 数据安全:企业数字化转型的关键保障
    在数字化转型的大潮中,数据已成为企业核心竞争力的重要组成部分。确保数据的安全不仅关乎企业运营的连续性,更是企业在激烈市场竞争中的生存之道。本文探讨了在云计算和大数据背景下,企业如何有效保障数据安全,并介绍了新兴的数据安全解决方案。 ... [详细]
  • 本文详细解析 Skynet 的启动流程,包括配置文件的读取、环境变量的设置、主要线程的启动(如 timer、socket、monitor 和 worker 线程),以及消息队列的实现机制。 ... [详细]
  • RabbitMQ 核心组件解析
    本文详细介绍了RabbitMQ的核心概念,包括其基本原理、应用场景及关键组件,如消息、生产者、消费者、信道、交换机、路由键和虚拟主机等。 ... [详细]
  • Python Selenium WebDriver 浏览器驱动详解与实践
    本文详细介绍了如何使用Python结合Selenium和unittest构建自动化测试框架,重点解析了WebDriver浏览器驱动的配置与使用方法,涵盖Chrome、Firefox、IE/Edge等主流浏览器。 ... [详细]
author-avatar
好人森森_195
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有