对angular开发者的建议,设计师也有

最近公司的项目使用angular,与ionic开发企业级软件;

现在项目越来越庞大了,我是中途加入团队,现在有时候就实现一个简单的需求,就要花费几天;

比如产品说:在提交按钮的时候,再去请求一个接口,校验一下数据;

听着简单,做的时候,就发现各种坑了;牵扯到数10个文件;

稍不注意,就会造成更多的bug;

实现一个需求,真是胆战心惊的;

下面说说里面的坑,以后应该怎样避免

控制器与视图

尽管下面的视图view1,view2,view3差不多,

很多逻辑也是一样的;

不要用同一个控制器,

不要不加修饰的直接控制视图;

谁也不知道,三个视图以后会怎么变化;

只要修改一个视图的逻辑,很容易影响到其他视图的逻辑;

下面是正确的做法,

每一个视图,对应自己控制器;

如果有公共的逻辑,直接注入一个服务;

如果以后,哪一个视图逻辑需要修改,可以在控制器里面改,或者修改服务;

如果修改的服务会影响其他视图,可以尝试新建服务;

对于视图,也是同样的逻辑,相互不影响;

现在软件里很多地方采用第一种方式:比如

视图都差不多,但是对里面的操作有些不一样,页面的显示也有不一样;在软件初期就应该用不一样的控制器分别对每一个页面进行控制;

-------------------------------

视图与模型

正确的应该这样

显示是没有明确的中间的这个调和的模型;

都是视图直接显示请求过来的字段;

如果字段多,那么有些就不显示;

如果字段少,就加几个在外面,并没有加到模型里面;

导致修改的时候,分不清哪些数据是后端来的,

哪些是需要提交的数据;

加之没有注释;各种乱;

--------------------------------------------------

其他建议

1、文件大,很多地方,没有做封装;

建议用函数拆分,每个文件不要超过1000行

2、单个函数长,逻辑多;

建议做小的逻辑拆分,单个函数不要超过100行

3、注释少,看代码的时间花费多;

对于文件与函数,写必要的注释;

4、废弃代码多,这个很麻烦,如果不是本人,根本不敢删除,

没有用的,就注释在代码里面,说是以后可能会用。

但是不用的注释代码,实际上越留越多;

建议:禁止无用的代码注释在文件里

5、多个开发者共同开发这个项目,没有统一的命名规范;

下划线的,驼峰的,非下划线也非驼峰的,中文拼音的;

建议制定一个规范

6、代码不格式化

建议,每次提交自己的代码时,使用编辑器,格式化

-----------------------------

对于设计

对于设计,我就说一个弹窗;

下面这个弹窗,用到苹果手机上,没问题;

但是用在android机上,就毁坏的不是一个软件,

而是整个手机

ionic是个好框架啊;

原本ionic针对,ios与Android做了不同的界面风格;

由于公司设计师把ios与Android的风格中和了一下;

于是有些地方,需要把Android风,改为ios风;

有时候,相反;

-------------------

本文分享自微信公众号 - 交互设计前端开发与后端程序设计(interaction_Designer)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2017-05-04

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏阿凯的Excel

Python读书笔记(Python软件的安装)

小编最近一直在思考如何解决Excel的大数据分析的问题,为了解决该问题,小编决定开始学习Python!会在每周看心情分享自己的所学~ 是学习笔记哦!不是教学文...

40040
来自专栏喵了个咪的博客空间

phalapi-入门篇4(国际化高可用和自动生成文档)

phalapi-入门篇4(国际化高可用和自动生成文档) ? 前言 先在这里感谢phalapi框架创始人@dogstar,为我们提供了这样一个优秀的开源框架. 在...

38590
来自专栏腾讯DevOps

Git远程库操作2

如git clone git@git.code.tencent.com:XXX/XXX.git

26730
来自专栏三木的博客

Linux基础知识总结

###一:什么是Linux? Linux被称为类Unix操作系统,遵循POSIX标准。Linux与Unix的最大不同在于源代码的开放性和自由性。 Linux的发...

29990
来自专栏小樱的经验随笔

【批处理学习笔记】第四课:简单批处理命令(3)

call 命令   CALL命令可以在批处理执行过程中调用另一个批处理,当另一个批处理执行完后,再继续执行原来的批处理 CALL command 调用一条批处理...

30870
来自专栏FreeBuf

PHP代码审计实战思路浅析

对于面向过程写法的程序来说,最快的审计方法可能时直接丢seay审计系统里,但对于基于mvc模式的程序来说,你直接丢seay审计系统的话,那不是给自己找麻烦吗?

15430
来自专栏流柯技术学院

接口测试之webservice

Web service是一个平台独立的,低耦合的,自包含的、基于可编程的web的应用程序,可使用开放的XML(标准通用标记语言下的一个子集)标准来描述、发布、发...

57630
来自专栏韩伟的专栏

编写可复用的服务端软件系统应该注意的五个重要细节

编写可复用的服务端软件系统应该注意的五个重要细节 作为程序员,我们往往希望自己写的代码能被最大程度的重用,但是我们依然能看到有很多“被重复发明的轮子”,其原因往...

398100
来自专栏owent

网络编程小结

写这个小结主要是因为之前研究Boost.Asio的时候,其内部使用了很多不同的方法来实现异步网络编程 然后就顺便把一些高级的玩意看了一下,也顺便把以前低级的玩...

8810
来自专栏猿人谷

进程、线程、应用程序之间的关系

进程是指在系统中正在运行的一个应用程序;线程是系统分配处理器时间资源的基本单元, 或者说进程之内独立执行的一个单元。对于操 作系统而言,其调度单元是线程。一个进...

24360

扫码关注云+社区

领取腾讯云代金券