项目经验总结 —— 简易新闻站

数据库设计

历时一个月,终于完成了这个练手项目,这个完整的项目让我对原生 php、js、前后端交互有了更多的认识,首先是对 DOM 熟练了很多(毕竟写 js 时大多数情况要么是操作 DOM 节点要么是绑定 DOM 事件,想不熟练都难),然后是熟悉了 js 的 ajax 扩展 XMLHttpRequest,不刷新页面的交互目前我只能用它完成,另外,由于整个系统是由我自己经过思考总结设计出来的,基本是摸着石头过河,过程中频繁踩坑,因此也就对系统级设计有了一点自己的初步认识,最后的一点感受是,我觉得前端并不比后端简单,事实上就这个项目来说,我的前端纯 js 代码量比后台纯 php 少不了多少,纯展示的页面还好,后台系统的管理页面需要添加的各种事件就比较多了,各种事件的嵌套、监听关系比起我后端写的 php 来一点都不简单,所以要说简单也顶多只能说前端切静态页简单,而切图本就是前端最基本的技能,复杂点的交互页面做起来可一点都不比后端简单,所以我认为主要是看业务吧,要谈前后端谁更复杂应该是特定于某个业务的,有些业务前端复杂,有些业务后端复杂,不能笼统的说前端比后端简单。

简要说下项目,该项目是用纯原生代码实现的,没有套用任何框架,包括模版引擎之类的都没有使用,是个较为简陋的新闻站,除实现了必要的增删改查和新闻呈现外,还实现了简单的用户系统、评论系统、专题系统、懒加载、数据统计等,虽然使用的是纯原生,但各部分代码是完全分离的,即 HTML、CSS、JS、PHP 文件都是各自分开存放的。项目后台响应数据时采用了 index.php 处理所有数据的方式,这样做的目的是为了提高网站的安全性,网站内部结构不会直接暴露出来,在使用这种机制后,我能想到的只有页面中少数几个引用资源的地方会暴露一些结构出来,其余大部分内部结构都被隐藏掉了。

总的来说这次项目很不轻松,毕竟这还是我第一次从头到脚的实现整个网站系统(现在觉得从前写过的几个小静态站、信息管理系统简直是过家家),没任何人告诉我项目的业务流程是什么样的、数据库结构该如何设计、各个模块该如何实现、前后端该如何交互,甚至连需求都得靠我自己想,测试也得自己做 …… 我应对的办法就是一个人冥想苦思、百度、翻书,好在我还算有一点算法的底子(现在觉得算法是真的锻炼人啊,益处太多),这些最终都扛了下来,不过虽然预期功能大都实现了,但自我感觉代码写的并不到位,甚至很多地方自己都觉得写的很烂,不过造成这些的原因并不在于算法上,也不在于某个模块的实现上,毕竟这个项目中涉及到的大都是些简单数据处理,在我看来是相对轻松的事。

真正的难点在于对整个系统的布局把控,每当有一个部位写的不易衔接、可扩展性不强,就容易导致其它部位跟着迁就,而迁就多了就容易造成整个项目代码冗余、逻辑难懂、难以维护,例如最基础的 HTML 标签嵌套、id、class 的分配就严重关系到 js、css 的书写,可以说把 HTML 做好是写好 js、css 的基础。后端 php 倒是不怎么受前端那三样的影响,php 的书写主要是受制于整个系统的运作,尤其重要的是数据库设计,数据库设计的好坏直接决定了存取数据是否繁琐、功能实现是否方便,其次才是前后端交互方面的问题,比如 cookie、session、跨域等。其实往大了看,无论前端、后端,很大一部分考验的都是对实际问题抽象化的能力,例如 HTML 标签嵌套、id、class 这些就是对页面布局的抽象,而数据库结构的设计是对业务逻辑的抽象,整个系统便是由前、后端等各模块的抽象层所共同组合而成的一个大抽象层(或许设计模式研究的就是这个?),虽然有时这个大抽象层做的好,代码实现难度反而会提高一些,但这对整个系统的运作却是有好处的,关于这个问题,我的观点是:在实现难度允许的范围内,应尽量将抽象层做的更完善一些,可扩展性更强一些。

这个项目我是边做边想的,其实这完全不对,起码对做一个系统来说,在实操前就应该将整个系统的抽象层设计好,而且是设计的越细越好,这样在实现整个系统时便不容易出差错。最后,在真正开始代码实现时,要循序渐进,先搭建项目整体的大框架,然后一层一层的向内推进实现细节,而不是先将一个模块全部做完,再做另一个模块,这样可以及早发现问题,降低模块间出现不协调的概率。

其实做到后面我想改的东西很多,比如加上天气预报、后台的富文本编辑或其它一些功能,并且原有功能也做的不够细致,但想想还是算了,时间不允许,如果现在将这个项目再推倒重来,我有自信在十多天内将数据库设计的更好,代码写的更加精炼,功能更加完善,页面更加美观。但我不这么做,因为我不想再在它身上浪费时间了,这实在太花时间了,它已经用掉了我整整一个月时间,这是远超出我预期的,我原本的预计是最多在一周内搞定,所以就这样吧,让它留下来,也许以后偶尔会回来看看从前写的屎代码。

目前我的原生已经算是有些基础了,接下来我需要开始接触框架,并且算法、网络、linux 这些也都要跟上,时间紧迫。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,084评论 6 503
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,623评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 163,450评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,322评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,370评论 6 390
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,274评论 1 300
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,126评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,980评论 0 275
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,414评论 1 313
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,599评论 3 334
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,773评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,470评论 5 344
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,080评论 3 327
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,713评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,852评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,865评论 2 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,689评论 2 354

推荐阅读更多精彩内容

  • 以下文章转载自知乎,暗灭-京华九月秋近寒,浮沉半生影长单. 暗灭 京华九月秋近寒,浮沉半生影长单 10,850 人...
    ve追风_685b阅读 4,088评论 1 15
  • 前端集成解决方案要求: 模块化开发。最好能像写nodejs一样写js,很舒服。css最好也能来个模块化管理! 性能...
    Www刘阅读 3,013评论 1 20
  • 中心图是一个螃蟹,有四个大分支,一个是股息贴现模型,一个是市盈率模型,一个是自由现金流负债,最后一个是通胀情况下的...
    文魁大脑郑国赞阅读 498评论 0 0
  • 大家好, 我是Wade, 一个思想上桀骜不驯,喜欢剑走偏锋的门徒。我未曾想过有天我会以一个外贸人的身份跟大家分享自...
    D071_武汉_夏至幸阅读 226评论 0 2
  • 没写过年终总结,今年,必须写,对成长了的自己的交待。 今年,从两个人变成了一个人,开始思考和成长。 15年5月1号...
    丁小姐阅读 345评论 1 4