TW实习日记:第22天
今天开发项目的还没完成的功能点,没什么难的,样式复制粘贴,JSON表单配一配,接口调一调,基本就完成了。不过中间在写后台的一些接口时,发现被自己之前写的一些方法给坑了。为什么这样说呢,因为在之前的几个工具方法里,都把一些本该是变量的值都给写死了!导致代码的复用性极差,如果我不修改工具方法的话,就要多写一个95%都一样的方法,这简直是不可接受的。在意识到这个问题之后我就着手对我自己之前写的一些工具方法做了重构。
例如根据时间给JSONArray排序,我之前将JSONArray的getDate方法里的key值给写死了...这应该在方法的参数中传入更好,因为这个key值只是对应某一个特殊的JSONArray才能取出Date的,所以为了实现代码的复用性,必须将key值作为参数传入方法。又比如升降序问题,如果仅仅因为升降序,就将排序方法写两遍或者在一个方法里写两个超级大的几乎一模一样的代码块,这也是不可以接受的。我的做法依旧是在参数列表中,传入一个整形,0代表降序,1代表升序,然后在需要修改符号的位置使用三目运算符来进行比较,这样我认为是比臃肿的代码块好的多的写法。
最近在写代码的时候,发现三目运算符真的需要好好使用,精简代码行数,看着清爽很多。所以现在刻意的修正自己写代码的习惯,有些if-else是十分罗嗦的,用三目运算符一行就可以解决了,if-else一般能给你整出4行来。例如,需要返回一个非空JSON字符串,如果为空返回null,之前我看同事的代码写的是
if(json == null)
return null;
else//也许会省略这行
return json.toString();
看着十分罗嗦对吧,修改一下,是用三目运算符是这样的
return json == null ? null : json.toString();
清爽不少吧。这真的是很基础的东西,不能说有多重要,但知道了更好的写法为什么不这么写呢?
挖坑清单:
- Vue缓存机制、生命周期和钩子函数
- git学习与常用命令记录(最后的整理)
- 和czh开发练习博客demo(建表完成度1/3)
Terence Xie
2018.8.14 周二 23:36
TW实习日记:第22天的更多相关文章
- TW实习日记:前三天
今天是2018年7月20号,周五.从周一开始实习到现在,终于想起来要写日记这种东西了,可以记录一下自己这一天所学所做所知也是蛮不错的.先简单总结一下自己的大学生活吧,算是多姿多彩,体验了很多东西.在大 ...
- TW实习日记:第31-32天
不知不觉的,实习的净工作天数,已经都超过一个月了.因为对工作内容不是很满意,所以打算月底离职,也不知道是公司太缺人还是我真的能干活,领导竟然三番两次找我让我再考虑...明天又要找我了,哎...随机应变 ...
- TW实习日记:第九天
这两天有点忙,要改前端网页和加需求上去.所以昨天说的Vue缓存机制也没看,所以打算现在列个挖了的坑的清单: Vue缓存机制.生命周期和钩子函数 使用项目组自用组件来重写静态页面 SSM框架搭建.整合流 ...
- TW实习日记:第五天
今天可以说是非常忙的一天了,要再项目中实现微信相关的功能:授权登录以及扫码登录,还有就是自建应用的发送消息.首先功能代码其实在经过了几天的学习之后并没有很难,但是最让我难受的是在项目中去加代码,首先s ...
- TW实习日记:第28天
同前两天一样,等接口,开发,调试接口.重复地做着低级代码得搬运工作,确实挺没意思的.怪不得有些人一直说写低级代码很无聊,没有创造性和成就感.31号准备溜了,还是好好复习准备秋招吧. 挖坑清单: Vue ...
- TW实习日记:第26天
这周组长休年假去了,并且之前主要负责的项目也已经上线了,可以说没那么忙了,手头就一个协助别的组做的移动端项目.可是这个项目特别坑,由于网端是9年前的项目,导致后台的接口有非常多的问题,并且入参多得令人 ...
- TW实习日记:第四天
第四天 早上第一件事就是和组长说前一天的需求的事,简而言之就是两个导航栏不属于一个标签内,自定义导航栏属于<body>下的<header>,微信顶部的则是<head> ...
- TW实习日记:第十天
今天任务很简单,就是出品项目的时间轴显示页面和动态路由设置.其实时间轴页面很快就做完了,在做完处理完数据之后,然而有很多细节需要打磨,这就又考验了我面向搜索引擎编程的能力,根据需求百度了很多css的样 ...
- TW实习日记:第八天
今天早上主要是接着做昨天的微信端网页预览附件,听同事说当打包代码放入服务器上后,就不存在跨域问题了,也就懒得自己写接口了,那么就希望自己能一次过吧...结果写着写着,发现开发文档中关于预览文件的方法, ...
随机推荐
- 以EF形式操作mysql数据库
1.引入Nuget包: 2.书写EF操作上下文 public class MySqlContext:DbContext { protected override void OnConfiguring( ...
- ajax简单做html查询删除(鲜花)
下载视频+项目链接:https://pan.baidu.com/s/1jUld3-Nqm3fUAzFSX8kjlQ
- [转]ASP.NET如何获取上传图片尺寸(是指宽高)
1.采用客户端javascript可以取得图片大小 <input id="FileUpload" type="file" size="27&qu ...
- 作为测试新手,web测试从何开始学起?
我们先来弄清楚web测试的测试范围,通常web测试包含:功能测试.性能测试.浏览器兼容测试.安全测试以及用户界面测试等.那么,作为一个初级测试员或者实习测试员,最开始的能做的只能是功能测试和用户界面测 ...
- “SAP.Middleware.Connector.RfcDestinationManager”的类型初始值设定项引发异常
在VS2015中使用SAP Connector 3.0(SapNco)的.net4.0x86版本开发时,程序运行到RfcDestinationManager.TryGetDestination时报错: ...
- 【JavaScript-基础-cookie从入门到进阶】
cookie 关于cookie 用于方便服务端管理客户端状态提出的一种机制. document.cookie 客户端JavaScript可通过document.cookie方式获取非HTTPOnly状 ...
- DQL-子查询
一:含义 嵌套在其他语句内部的select语句称之为子查询或内查询 外套的语句还可以是 insert,update,delete,一般用select比较多 外面如果是select语句,我们称之为外查询 ...
- oracle使用DBMS_RANDOM包生成随机数据
(一)DBMS_RANDOM包信息 DBMS_RANDOM包包含3个存储过程,4个函数,1个类型,一共8个模块,如下. SQL> desc dbms_random Element Type -- ...
- MySQL高可用之MGR安装测试
Preface We've learned the machenism of MGR yesterday,Let's configurate an environment and have s ...
- linux系统基础之---文件系统与日志(基于centos7.4 1708)