文档章节

产品思想的重要性

大灰狼wow
 大灰狼wow
发布于 2014/04/29 21:06
字数 595
阅读 171
收藏 6

2年之前,我想做个新闻系统,2年之后,我把新闻系统做好了,而且做的有模有样。固定的,我每个月都会为这个系统写一些代码,有些代码处于好玩,有些代码出于需求,有些代码出于测试,反正有各种理由,这些代码就这么存在了。期间我也参考了很多的cms,感觉他们好的功能都借鉴过来。用自己的实现方式。

这个系统的特点:1在线编辑模板 2实现了ztree的所有功能 3 实现了epv字段扩展。4实现了批量静态页面,5多语言功能。

久而久之,这个系统变得臃肿了,存在的问题如下:

1、存放了太多附件。jquery版本都n多个。

2、引用了很多小程序,各有各的css,image。存在很多的安全隐患。

3、之前采用了简单的mvc,但现在问题暴露出来了,我自己写了很多的left join 还有各种getNewsByWhere ById  ByOther BYContent?

4、我写的添加新闻add方法,代码出现了300多行。我的新闻列表listing已经达到200多行。问题愈演愈烈,代码越来越臃肿,判断语句自己都快无法识别了。

5、安全性下降。

 

但是,需求还不完,这个只是个新闻系统,我想要做个图片专题。

 

我打算修改原来的系统,修改数据库结构。突然间发现,要是我以后再要一个专题功能,我不得不再次修改我的程序。

 

我不得不停下来思考。我与其去修改,不如重新架构来的快。2年间来我都是一句句手写代码的(作为新手,我认为这点还是必须要经历的)。现在完全可以使用orm进行导入。

 

现在框架的集成度很高,对于旧式的系统,玩不了几周的时间,完全可以重构一个。但前提是,你是否已经想好了怎么去设计数据库才是最合理的,扩展性最强的,结算代码是最少的,效率是最高的,存储空间是最少的。

 

好了,想了这么多,我去重构了。这次我选择了java,而不是php。

 

 

 

 

 

© 著作权归作者所有

大灰狼wow
粉丝 48
博文 396
码字总数 49161
作品 1
嘉兴
程序员
私信 提问
算法与数据结构(一):导论篇-算法的重要性

算法与数据结构 算法相当的重要 & 算法无处不在 思考:编译器是如何理解你所写的程序的。 编译器的存在涉及着各种算法。搜索引擎:搜索算法加排序算法 遍历1亿的数据。Google定位信息。 推荐...

天涯明月笙
2017/09/13
0
0
考研为什么考的是那四门课?

从来没有重视过数据结构,不知道为什么考研会要求这方面的内容,很多写代码的人也很少使用数据结构,更多的精力都在编程思想上,框架上。今天偶然与一位研发数据库的同学聊天,让我突然认识的...

一朵气质草
2014/07/08
1K
12
设计分享——为什么要重视设计?

之前买书的时候,发现大家基本没考虑设计方面的书籍,感觉大家对设计这件事不够重视。所以技术分享的第一段,先讲几句做好设计、学好设计的重要性。 一 为什么重视设计(面向对象设计) 1. 业...

winters1224
2018/06/26
0
0
中国首届开发者关系大会

据 Evans Data 的数据显示,截至2020 年,世界上将会有超过 2500 万名软件开发者。软件开发人才市场已经成为科技领域最炙手可热的部分,从事这一职业的人数也是如今增长最快的。 2017 开年 ...

猿生态-DevEco
2017/03/27
246
3
中国首届开发者关系大会

据 Evans Data 的数据显示,截至2020 年,世界上将会有超过 2500 万名软件开发者。软件开发人才市场已经成为科技领域最炙手可热的部分,从事这一职业的人数也是如今增长最快的。 2017 开年 ...

猿生态-DevEco
2017/03/27
153
3

没有更多内容

加载失败,请刷新页面

加载更多

Java 8 Optional:优雅地避免 NPE

本篇文章将详细介绍 Optional 类,以及如何用它消除代码中的 null 检查。在开始之前首先来看下什么是 NPE,以及在 Java 8 之前是如何处理 NPE 问题的。 空指针异常(NullPointException,简称...

武培轩
10分钟前
0
0
CountDownLatch实现的并发框架

目录结构 package com.**.**.base.support.executor;import lombok.NoArgsConstructor;import org.apache.commons.logging.Log;import org.apache.commons.logging.LogFactory;imp......

MR_TE
12分钟前
0
0
学习记录(day06-事件、按键修饰符、计算属性)

[TOC] 1.1 事件修饰符/按键修饰符 vue 通过事件修饰符对dom事件细节进行控制 <标签 @事件.修饰符="函数"></标签>.prevent ---阻止浏览器默认行为.stop ---阻止浏览器事件冒泡.e...

庭前云落
31分钟前
0
0
006-Sigle-基于blockstack去中心化博客

本篇文章主要讲解有关基于Blockstack的Sigle是一个去中心化的博客项目; 官网地址:https://www.sigle.io/ Github地址:https://github.com/pradel/sigle 页面展示: 介绍: A beautiful de...

Riverzhou
38分钟前
13
0
驰骋工作流引擎开发平台属性功能的隐藏显示介绍

关键字: 工作流程管理系统 工作流引擎 asp.net工作流引擎 java工作流引擎. 表单引擎 工作流功能说明 工作流设计 工作流快速开发平台 业务流程管理 bpm工作流系统 java工作流主流框架 自定义...

孟娟
40分钟前
10
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部