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

功能性新网站开发一点点经验心得

因为本次是全程参与了松松软文新平台的开发,所以卢松松今天把网站开发的一些经验心得写出来,供大家参考。以后大家在迁移新网站的时候,有一个参考

因为本次是全程参与了松松软文新平台的开发,所以卢松松今天把网站开发的一些经验心得写出来,供大家参考。以后大家在迁移新网站的时候,有一个参考依据,我都做了什么,什么时候做,都会列出来,希望本文对大家有所帮助,哪怕一点足以。

一,前期准备

早在年初之前就有很多朋友跟我说松松软文不够“大气”,虽然还不能理解“大气”的深刻含义,但也清楚这个网页很有年代感了。在年初时,我就已经下定决心:改版。

90%的调查基本没什么卵用

既然下决心改版了,那么第一步肯定是用户调查,问问别人的意见。但多年做网站的经验的我告诫自己:90%的调查基本没什么卵用!因为用户根本不知道他想要什么,直到你把东西摆在他面前的时候,意见才会接踵而来。所以这次松松软文改版,我也没做过任何调查,更多的是收取了我们客户的意见,需要什么功能,那些不好用,那些地方有BUG。你现在看到的这套新平台,基本是自己的想法。

万事俱备,就差程序员了

有了初步想法后,剩下的就是整理自己的想法和需求并写到文档里。因为需求这东西会随着时间推移经常变,所以文档也改了好几版。我们是很小很小的公司,没有很强的技术实力,主力的开发工作还是要请外面的人参与,这点我从不否认,所有找一个靠谱的程序员就非常重要。

那么如何找靠谱的程序员?这就和结婚找对象一样,要靠缘分,其次是前几年的人脉积累。

二、开发工作

我们在9月初开始进入实质性的开发工作,首先是把整体框架搭建起来,当然这里面没我啥事,具体功能性的开发全部是由程序员开发完成。

不过很庆幸的是我们找到了一位非常靠谱的程序员,可以说一个顶三。无论是责任心还是技术对我而言都堪称一流。

简单举两个例子:

第一个:在需求文档提出后,很多问题其实我并没有考虑清楚,而且一些功能完全是他自发加进去的,比如松松软文的“绑定微信服务号”功能,起初我并没有提出要这个功能,他说现在都往微信公众号上靠了,我给你做个“绑定微信功能”以后客户可以在微信里查看订单提示。“管理员权限分配”“入账申请”“客服QQ自动分配”也是他主动提出的。

第二个:整体的功能框架半个月左右开发完毕,转眼就到十一国庆放假了,我本想好好休息一下,玩玩游戏带带孩子,结果这哥们从1号一大早就开始联系我,开始追问需求。记得2号那天晚上,我们几个人做电脑前面搞到了凌晨1点过,我做在椅子上昏昏欲睡,电脑那头传来了打鼾声,只有他时不时在QQ上回一句“这功能好了”,从1号到到8号天天如此。

三、测试阶段

虽然开发我参与不到什么,但测试网站还是比较有经验的,为了保证网站尽量少出现BUG,每个页面我都是在反复点击,每一个步骤都走一遍流程。这个工作开起来轻松,实际上非常费脑子,因为你每一次点击,都要换位思考,你只是个普通用户,如果我是他该怎么点。而且要重复好几遍。

连续写了8份修改意见文档

和程序员沟通最好的方式就是写文档,在QQ、电话里反而说不清楚,在文档里能很清晰的把你的想法说清楚。测试一般先从首页开始,一个页面一个页面点击。测一个页面,过一个。不过还好,松松软文的界面不是很多,前台总共就8页,用户后台就15页。

就这样,从国庆后开始,我连续写了8份修改意见文档,每份文档都有几十张图片,每份文档1000多字,还不包含截图上的文字。值得庆幸的是,我所有这个平台开发中,只听见程序员说过一次“搞不定”,其他问题全部解决。

在测试阶段,我也终于明白我的技术是如此落伍了。起初改HTML的时候,一般都是先改CSS再改HTML文件,后面我发现,这几年流行的模板全部是框架式模板,CSS文件里几乎包含了你所有想要的样式表,你只需要“审查元素”,把这段代码贴到HTML里就可以了。这和10年前做前段完全是两个概念!

正是有了这些详细的测试,在考虑客户发稿时看你会遇到的一些问题,我都在网页上做了问号标注,慢慢的就形成了一个小型的帮助中心。


20171102103816107159.gif


(如图所示,问号里面的文字全部是我一个字一个字写出来的)

当然,这次网页首页的改版,也改变了以往的思路,以前是以产品介绍为主,而这次是以以人为中,以介绍客服为主,所以大家在任何页面都可以看到介绍,同时也可以看到我对所有客服的评语。

20171104144107512110.jpg

(客服下方的评语也是挨个打出来的)

四、正式迁移

也许是怕影响用户体验,也许是多年习惯,在程序测试完毕后,我们最终选择在10月29日凌晨迁移网站(PS:2016年初卢松松博客改版的时候也是在凌晨)。

一切准备工作就绪,数据库的迁移、程序的迁移我们演练了三次,确保当晚能顺利完成。当然这还面临一个最重要的问题:

第二天一早是睡觉还是改BUG的问题?

在经过多次是思想斗争后,我们最终决定:早点睡!

说实话,因为准备工作太充分了,迁移的非常顺利,我们在凌晨1点基本迁移完毕,我们早早就回家睡觉了。

五、解决BUG

虽然反复测试,但终究百密一疏。在开发新平台的时候,我还经常发布一些开发进度消息。所以29号(周日)一大早,就有客户跑过来发文章和挑错,我们也被批的非常不好意思。

最重要的则是资金错误还有订单状态问题,有几个客户的账户出现问题,使得我们把所有有异常的帐户全部从新整理核对,

20171104144127930489.jpg

这个工作一直持续到11月3号结束,迁移的后续工作又整整持续了4天。当同事若水给我发了一句:“所有新老系统的稿子都处理完毕后”,我才知道网站正式迁移的后续工作也全部完成。

写在最后:

在松松软文新平台开发过程中,我扮演的是一个测试员的工作,从用户角度去看网页,在从客户角度去体验功能,最后在完善管理员的后台功能。本文在技术方面没有什么建设性的意见,但在测试方面的一些心得体会希望对大家有一点点帮助。虽然这是一个新版网站,但我已经看的想吐。毕竟,印象不是一般的深刻。

上面是旧版界面,下面的新版界面。

20171104144200643249.gif


20171104144217541568.gif




推荐阅读
  • 基于layUI的图片上传前预览功能的2种实现方式
    本文介绍了基于layUI的图片上传前预览功能的两种实现方式:一种是使用blob+FileReader,另一种是使用layUI自带的参数。通过选择文件后点击文件名,在页面中间弹窗内预览图片。其中,layUI自带的参数实现了图片预览功能。该功能依赖于layUI的上传模块,并使用了blob和FileReader来读取本地文件并获取图像的base64编码。点击文件名时会执行See()函数。摘要长度为169字。 ... [详细]
  • 如何实现织梦DedeCms全站伪静态
    本文介绍了如何通过修改织梦DedeCms源代码来实现全站伪静态,以提高管理和SEO效果。全站伪静态可以避免重复URL的问题,同时通过使用mod_rewrite伪静态模块和.htaccess正则表达式,可以更好地适应搜索引擎的需求。文章还提到了一些相关的技术和工具,如Ubuntu、qt编程、tomcat端口、爬虫、php request根目录等。 ... [详细]
  • Webpack5内置处理图片资源的配置方法
    本文介绍了在Webpack5中处理图片资源的配置方法。在Webpack4中,我们需要使用file-loader和url-loader来处理图片资源,但是在Webpack5中,这两个Loader的功能已经被内置到Webpack中,我们只需要简单配置即可实现图片资源的处理。本文还介绍了一些常用的配置方法,如匹配不同类型的图片文件、设置输出路径等。通过本文的学习,读者可以快速掌握Webpack5处理图片资源的方法。 ... [详细]
  • 本文介绍了OC学习笔记中的@property和@synthesize,包括属性的定义和合成的使用方法。通过示例代码详细讲解了@property和@synthesize的作用和用法。 ... [详细]
  • Mac OS 升级到11.2.2 Eclipse打不开了,报错Failed to create the Java Virtual Machine
    本文介绍了在Mac OS升级到11.2.2版本后,使用Eclipse打开时出现报错Failed to create the Java Virtual Machine的问题,并提供了解决方法。 ... [详细]
  • 在说Hibernate映射前,我们先来了解下对象关系映射ORM。ORM的实现思想就是将关系数据库中表的数据映射成对象,以对象的形式展现。这样开发人员就可以把对数据库的操作转化为对 ... [详细]
  • 本文介绍了在SpringBoot中集成thymeleaf前端模版的配置步骤,包括在application.properties配置文件中添加thymeleaf的配置信息,引入thymeleaf的jar包,以及创建PageController并添加index方法。 ... [详细]
  • 本文详细介绍了Linux中进程控制块PCBtask_struct结构体的结构和作用,包括进程状态、进程号、待处理信号、进程地址空间、调度标志、锁深度、基本时间片、调度策略以及内存管理信息等方面的内容。阅读本文可以更加深入地了解Linux进程管理的原理和机制。 ... [详细]
  • 1,关于死锁的理解死锁,我们可以简单的理解为是两个线程同时使用同一资源,两个线程又得不到相应的资源而造成永无相互等待的情况。 2,模拟死锁背景介绍:我们创建一个朋友 ... [详细]
  • 后台获取视图对应的字符串
    1.帮助类后台获取视图对应的字符串publicclassViewHelper{将View输出为字符串(注:不会执行对应的ac ... [详细]
  • 《数据结构》学习笔记3——串匹配算法性能评估
    本文主要讨论串匹配算法的性能评估,包括模式匹配、字符种类数量、算法复杂度等内容。通过借助C++中的头文件和库,可以实现对串的匹配操作。其中蛮力算法的复杂度为O(m*n),通过随机取出长度为m的子串作为模式P,在文本T中进行匹配,统计平均复杂度。对于成功和失败的匹配分别进行测试,分析其平均复杂度。详情请参考相关学习资源。 ... [详细]
  • 本文介绍了通过ABAP开发往外网发邮件的需求,并提供了配置和代码整理的资料。其中包括了配置SAP邮件服务器的步骤和ABAP写发送邮件代码的过程。通过RZ10配置参数和icm/server_port_1的设定,可以实现向Sap User和外部邮件发送邮件的功能。希望对需要的开发人员有帮助。摘要长度:184字。 ... [详细]
  • CSS3选择器的使用方法详解,提高Web开发效率和精准度
    本文详细介绍了CSS3新增的选择器方法,包括属性选择器的使用。通过CSS3选择器,可以提高Web开发的效率和精准度,使得查找元素更加方便和快捷。同时,本文还对属性选择器的各种用法进行了详细解释,并给出了相应的代码示例。通过学习本文,读者可以更好地掌握CSS3选择器的使用方法,提升自己的Web开发能力。 ... [详细]
  • 本文讨论了如何优化解决hdu 1003 java题目的动态规划方法,通过分析加法规则和最大和的性质,提出了一种优化的思路。具体方法是,当从1加到n为负时,即sum(1,n)sum(n,s),可以继续加法计算。同时,还考虑了两种特殊情况:都是负数的情况和有0的情况。最后,通过使用Scanner类来获取输入数据。 ... [详细]
  • Java验证码——kaptcha的使用配置及样式
    本文介绍了如何使用kaptcha库来实现Java验证码的配置和样式设置,包括pom.xml的依赖配置和web.xml中servlet的配置。 ... [详细]
author-avatar
荆灬樊小姐_526
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有