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实习日记:第八天
今天早上主要是接着做昨天的微信端网页预览附件,听同事说当打包代码放入服务器上后,就不存在跨域问题了,也就懒得自己写接口了,那么就希望自己能一次过吧...结果写着写着,发现开发文档中关于预览文件的方法, ...
随机推荐
- HTML CSS STYLE USER Font Awesome Definition Content Attribute
在css样式表中写样式: 其中content使用图标类对应的字符编码如下
- 简单说一说对JavaScript原型链的理解
每一个JavaScript对象都和另一个对象相关联,相关联的这个对象就是我们所说的“原型”.每一个对象都会从原型继承属性和方法.有一个特殊的对象没有原型,就是Object,还有一种通过Object.c ...
- 阻止按下backspace键造成页面回退相像
在IE浏览器中,会出现当你使用鼠标选中input标签或者是textarea标签,或者啥也没选中的时候,按下backspace键会触发浏览器的回退. 针对以上问题的解决思路: 1. 当按下键盘时 ...
- [转]SQL Server 安全性概論與無法刪除資料庫使用者的解決辦法
經常有人來問我特定 SQL Server 資料庫裡的使用者無法刪除的問題,這問題其實跟 SQL Server 的安全性架構有很大關係,解決這個問題當然還是瞭解觀念的重要性大於知道如何解決問題.除了講解 ...
- 在CentOS 7上安装Docker环境
官网文档:https://docs.docker.com/engine/installation/linux/centos/ ,本文大部分是照搬官方文档写的,如果你英文还不错,那么就直接移步官方文档吧 ...
- 第21章 DMA—直接存储区访问
本章参考资料:<STM32F76xxx参考手册>DMA控制器章节. 学习本章时,配合<STM32F76xxx参考手册>DMA控制器章节一起阅读,效果会更佳,特别是涉及到寄存器说 ...
- Oracle的分析函数
Oracle的分析函数row_number(),rank(),dense_rank()的用法与区别 比如查询工资排名第7的员工信息,可以用分析函数来做. --查询工资排名第7的员工信息select * ...
- ORCLE10安装常见配置问题-oui.exe停止工作
其实这是一个在安装过程中很常见的问题,之前小编说过关于甲骨文的软件用起来都很强大,但是大腕出厂,出场费是很高的,就像甲骨文的软件使用的话对于他的安装和配置的换将也是很挑剔的,出现这个问题就是因为安装文 ...
- 内网最小化安装CentOS后,想安装ISO文件中的包怎么办呢?
昨日公司测试人员需要升级公司服务器Python,发现公司服务器上缺失了各种各样的包.比如open-ssl,python-deve等 1.查看你的Centos版本 lsb_release -a 2.上传 ...
- IO流,字节流
/** * IO流,字节流 */ import java.io.FileInputStream; import java.io.FileOutputStream; public class ByStr ...