前端开发之前后协调

前言

在最近的项目开发中发现一些上问题,针对这些不合理的地方,个人有一些建议,特此记录下.

正文

1. 模型/枚举定义一致性

在前后端分离的项目中,严格意义上讲并不需要前后端保持模型定义的完全一致,但是在开发联调中经常会发现前后台各自定义一套模型,然后埋头开发,到联调阶段的是时候发现有些属性字段不一致,导致返工或者添加映射.而前端又使用的是数据绑定的Ng,导致影响范围不好控制.

 [建议]:在正式编码前,前后端定义好一套规范模型(可以由双方功能协商制定,也可由任意一方定义,另一方遵守),双方在编码过程中严格按照模型定义去写各自的对象(前端对象,后台实体,数据库表),如需改动要通知另一方.

枚举值最好也在开发之前就定义好,从而避免前后端各自定义一套枚举需要中间添加映射的情况出现.

2. 接口定义一致性

前后台接口定义主要体现名称不一致和预期值不一致.名称不一致包括接口名/参数名/参数个数等的不一致,预期值不一致主要包括参数数据类型/数据结构/接口返回值/返回值数据结构不一致.归根结底是还是因为前后端沟通不畅.

[建议]:同样是在编码前,双方约定好上面提到的接口数据.

3. 对象访问

在前后台的代码中都可以看到形如 `A.B.C` 的代码,即通过"."来访问对象属性并且还没有判空.正常情况下这种代码没问题,但是我们却无法保证中间的某个属性是有值的,如果没有值,代码直接就报错退出执行了...

[建议]:通过set/get获取对象属性,如果图方便,最好也要做为空判断

 其他

以下不能算是项目中存在的问题,只能说是我认为比较重要的地方,拿出来记录下:

1. 需求文档

前端开发者一般情况下根据UI给出的图去开发,遇到问题或者不清楚的地方才去看产品的需求文档,一图胜前言,本无话可说,但是我还是觉得在开发前把需求文档一字一句的过一遍会比较好.毕竟读文档用的时间跟因文档理解不一致该需求的时间相比要少的多的多.当然,最好是在功能开发完成后,再把需求文档从头到尾看一遍,一个是检查有没有漏掉的功能,另一个也是为了避免产品直接修改需求没有通知开发的情况(当然一般情况不会出现).

2. copy代码

天下代码一大抄.严格意义上讲,我个人并不反对复制粘贴代码,我反对的是不假思索的拷贝复制.其实整个项目进行到现在,一般的需求都有在其它模块做过,将其它模块的代码拷贝过来本无可厚非,但是在拷贝代码的过程中,我觉得最基本的是要搞清楚这段代码是怎么起作用的,它的影响范围有多大,在此基础上,我们还可以思考原作者为什么这么写,这里的代码是不是还有可以优化改进的地方,最后,还可以思考下别人的编码思路和风格是不是有值得学习和采纳的地方,可以为我所用.这样下来,我们既可以用原有代码实现新的功能,避免了重复造轮子,又可以不断的从别人的代码中学习/归纳/整理,取其精髓,去其糟粕,让自己避开重复低效的复制粘贴歧路,走向不断进度提升的大神之路.

 最后

程序开发是一个系统的工程,需要参与这个工程的所有人员的分工明确,协力配合,共同努力才能完美完成,愿每个人都成为神队友而不是....与各位共勉.

时间: 2024-11-08 19:35:43

前端开发之前后协调的相关文章

便捷的前端开发工具

便捷的前端开发工具 说到工具?那是可是不得了的东西,它是人类文明进步的基石.人类,从石器时代发展到现代社会,也是工具,从石具到现代高科技的演变过程史!当然啦!我们现在互联网时代,前端开发,也是离不开工具的.使用工具是为了创造更好的工具,为了更高的效率.那作为前端爱好者或前端开发者们,你们知道哪些前端开发工具吗?享受了它们的便捷了吗?今天,我就给大家介绍几个开发者工具吧! CSS检查工具-CKStyle 之前的几篇文章给大家介绍有关CSS有关的知识点,想必有不少人已经遇到过有关CSS压缩或检查的问

JS高级前端开发群加群说明

JS高级前端开发群加群说明 一.文章背景: 二. 高级群: 三. 加入方式: 四. 说明: 一.文章背景: 去年年初建了几个群,在不经意间火了,一直排在“前端开发”关键字搜索结果第一名.当然取得这样的成绩或这样一个结果也是情理之中,一方面来说,提倡的各种交流沟通方法大部分是正确有效或被大家认可的,另外一方面说,这么多人聚在一起,跟大伙的参与分享是分不开的,尤其是各群的管理,是我们的灵魂精神的支柱.另外在国内行业前进的道路上,尽自己的绵薄之力帮助他人,引领氛围,进而影响行业,也是略感欣慰.有时候精

看大师讲解移动互联网前端开发流程

你做过移动互联网开发吗?在移动互联网超级火爆的今天,你是否也想分的一杯羹呢,来这里看大师给你讲解如何完成一款app,本文的主旨在于讲解在app的制作流程. 今天完成了完全属于自己的一款安卓应用,整个流程都是我一个人跑下来的,感觉小有成就,名字叫"长见识了",是一款趣味答题类的游戏,题目各种火爆各种经典,下载地址,看似一个简单的答题小游戏却是五脏俱全,从开发流程上都进行了严格的规范,大家有空可以下载玩玩~ 该项目虽然比较简单,但是从项目需求分析到最后的开发测试上架流程都是完备了的. 一,

2015腾讯暑期实习生 Web前端开发 面试经历

[2015腾讯暑期实习生 Web前端开发 面试经历] 好吧,首先声明,我被刷了,应该是跪在二面 微信查到的面试状态一直呈现复试中 .. 整整四天了.. 看来是没希望了 不过也是一次经历,记录一下还是可以的 .. 零.TST内推 TST还是有必要提一下,早早就随大家把简历交上去内推了 很多人都有评级了,各种评级都有 但我 从头到尾都查不到评级..是漏了..还是简历太渣看不上... 还是怎么回事..衰.. 一.笔试 笔试是在3月29号在华工考的,腾讯的笔试一直都那么回事,技术岗的都同样一份试题. 试

前端开发构建:13 种热门工具的选型参考

前言 在前端项目的规模和复杂性不断提升的情况下,各类构建思想和相应工具层出不穷.本文竭己所能对比了当下13个构建工具,包括 Browserify. Webpack. Rollup. Grunt. Gulp和 Yeoman6个广为流行的工具, FIS. Athena. WeFlow和 Cooking等4个国产工具,以及三大框架: React, Vue和 Angular的官方脚手架.希望能在项目初期的构建工具选型上为大家提供些参考. 全览 构建工具可以分为三类:模块化打包类.任务流构建类和集合型工具

7招提升你的前端开发效率

7招提升你的前端开发效率 前言 前端工程师其实是一个工作很杂的职位,除了要负责切图.写html/css/js外,还要解决一系列的浏览器兼容性.网页性能优化等问题,所以提高前端工程师的开发效率是势在必行的,也是前端工程化的体现. 对于开发效率,我个人理解是 开发效率 = 新增代码的效率 + 修改代码的效率 + 维护代码的效率 那么如何提高前端开发效率便可以按照前端工程化的理念来进行划分.下面我就介绍下7个提高前端开发效率的方法. 前端工程化 方法 1.切图 切图是一个前端最基础的技能,一般我们使用

前端开发笔记(2)css基础(上)

CSS介绍 层叠样式表(英文全称:Cascading Style Sheets)是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言.CSS不仅可以静态地修饰网页,还可以配合各种脚本语言动态地对网页各元素进行格式化.CSS 能够对网页中元素位置的排版进行像素级精确控制,支持几乎所有的字体字号样式,拥有对网页对象和模型样式编辑的能力. <style type="text/css"> span{ color:red;

Web 前端开发学习之路(入门篇)

字数1374 阅读4622 评论0 喜欢49 以前学习过一段时间的web前端开发,整理了一些我看过的/我认为比较好的学习资料(网站.书籍).不要问我为啥没有进阶版,我只是一条产品汪而已,求轻喷.== 以下引用知乎 @李路 的话. 以我的经验,大部分技术,熟读下列四类书籍即可. 入门,用浅显的语言和方式讲述正确的道理和方法,如head first系列全面,巨细无遗地探讨每个细节,遇到疑难问题时往往可以在这里得到理论解答,如Definitive Guide/Programming xx系列实践,结合

互联网前端开发技术栈

互联网前端开发技术栈 前言 互联网建立60多年了,网站开发技术日新月异,但web前端始终离不开浏览器,最终还是HTML+JavaScript+CSS这3个核心,围绕这3个核心而开发出来大量技术框架/解决方案. 我从2000年初开始做网站开发,使用的技术不断迭代,一些消失了,更多的出现了. 最近写过  .NET技术大系概览 (迄今为止最全的.NET技术栈) ,相信很多网友感叹掌握的.NET技术远没有这个技术栈里面所描述的多. 问题 大家是否想过: Web前端开发究竟包含哪些技术呢? 我所掌握的技术