1. 代码规范和check、code review和代码重构和工程

首先上概念(自己总结,如有错误,请指正)

  代码规范:公司内部,用来管理代码格式和风格的文档和规范,要求公司内部统一规范,其中包括:命名规则(数据库字段,表名,存储结构名、函数、变量、文件名等),每行字符数(编译软件每行显示的字符数量,多少个字符换行),缩进的格式(tab还是四个空格),函数的代码行数等等内容。

  code review:代码复查,代码复查时相互进行的,包括checkstyle和findbugs,通过相互的代码走查,可以看到别人代码的缺点,并改正,不光能修改问题,还能避免自己也犯这样的错误,是一个编码人员的特别良好的习惯。

  代码重构:重中之重,可以说是降低维护成本的主要方法之一,代码重构也需要代码规范的约束,包括把函数抽象成同层次、变量提取、活用map等等,方法灵活,一定要适合自己(切记,一定在不影响功能的前提下)

 

  第二周上课,我终于知道这门课的定性是工程类,而不是技术类,这是个质的飞越,技术是积累,而工程,就是开始综合的释放这些技术技能。

  调研--需求--传递--概设--详设--开发--联调--集成--测试--部署,每一个环节,个人感觉都要发挥我们相应的技术技能,才能做好。

  在这个复杂的工程过程中,代码规范,代码的check、review和重构,是一个功在当代,利在千秋的事情。

  在学校,没人会逼着同学们做代码的走查,没人会强制同学们遵守学校的代码规范风格(因为根本没有),没有人会让你对写过的代码重构(当然,就算让,高傲的程序员也不认为自己的代码有重构的必要)。

  但是在工程里,我感觉代码规范的强制力就相当于宪法一样,我只有顶礼膜拜,code review也是每天完成代码后的必做项之一,还有就是代码的重构,重中之重,企业发展节省成本的途径(开发人员维护已有项目不骂人的最基本方法)。我曾经有幸听过Oracle北京公司的大牛(超级工程师),讲的代码的重构的讲座和课程(已经忘了一大部分了),他当时有提到过WebLogic,我想大家应该熟悉这个中间件,他说目前全球只有几个人在维护这个东西,我了个去呀,可能几百万人用的东西,就几个人在维护,是什么让他们这么牛X?他说就是因为代码规范和代码的重构执行的彻底。

 

2. 软件对比(WP,iOS,Android)

  对于手机的这三款操作系统WP,iOS,Android,我都多少有过几次使用经验,下面我来从几个方面对比一下这个款操作系统:

  首先是各个系统的概述:

2.1 WP:

  闭源操作系统,由微软公司开发,在Nokia尝试Meego未果后,转而投向WP,与微软合作,个人觉得,Nokia借助微软在操作系统界的名声和强大的技术实力,相对来说比较成功的扳回来半局(Lumia系列挽救了一部分危局,但是在销售上,还是不敌强大的Android家族)。

界面:

  刚才有点扯远了,WP的metro风格,继承自Windows8,磁贴式的大图标、平滑顺畅的样式,确实体现出了“光滑和现代”的这种理念。操作系统的美观、强大,再加上手机巨头    的硬件支持,可以说已经完美,但是,市场的占有率,可能是导致在应用方面比其他两个少的关键因素。

功能:

  如同刚才所说,强强联手,势必会早就出更强,WP就是这样的产物,对于操作系统的泰斗之一,WP的功能已经非常完善了,Surface Pro的成功,就是WP的前景,个人感觉,个人电脑操作系统、WP、Surface Pro对于应用的连接和共享,可能会更加促进WP的发展。

性能:

  我之前使用的是一款比较低版本的型号的Nokia(Lumia625),里面让我装了不少应用,除了大型应用需要消耗较高的内存有点卡顿之外,其他应用可以说是非常流畅,系统的平滑也不是盖的,整体机子的性能对比同类硬件级别的Android产品是远远胜出的。

2.2 iOS:

  闭源操作系统,由苹果公司开发,类Unix系统,源自于Mac OS系统,Mac系统大家熟悉的不能再熟悉了,色彩鲜艳,系统渲染的极其绚烂,音质软件非常出色,常常用于美工作图、音乐录制等高端工作(编码也很高端,所以编码用的也比较多)。

界面:

  四方的圆角图标自成一派,虽然是google提出,微软第一个实践了扁平化,但是似乎苹果的扁平化更能引起人们的关注,从第一代苹果发布会iPhone惊艳全球,到现在,不单单是手机硬件的外观,连iOS系统的界面外观也是吸引全球的目光。

功能:

  对于功能上,iOS的应用数量已经非常非常的多,足够使用,硬件、软件上的功能,很好的满足了用户的用户体验。

性能:

  对于Object-c来说,除了汇编,没有语言能出其右(相比于WP的C#和Android的Java),现在ipad3现在就算跑今年新出的大型应(游)用(戏),也没遇到过卡顿的现象,所以对于资源的利用和回收,iOS走在前面。

2.3 Android:

  全球最强大的开源手机系统,但是也正是由于开源,导致版本众多,不好管理,但是还是以google的原生android为准。

界面:

  版本的不同,界面风格也不一样,三星的比较成熟一点,相对来说比较商务,华为的比较亲和一点,小米的比较小清新一点等等(也是根据主题不同自己选择)

功能:

  功能自不必多说,应用商店就一堆一堆的,还可以自定义安装软件,更可以自己开发免费软件,安个SDK就可以开发(WP也比较容易,就是visioStdio好贵,iOS没想过开发,首先安装黑苹果就是一个问题),程序员么,又懒又傲又自大,看不惯别人的app,自己开发!看不惯别人的界面,自己开发!看不惯别人的操作,自己开发!

性能:

  性能我就无力吐槽了(我只是说我用过的android),三星对比其他大多数做android的手机厂商来说,可以算是比较强大的,但是note3用了一年就卡的我想砸了它,root权限也不能开启(主要怕刷成砖),开机启动项也不能修改,在升级完系统后,手机用用就卡(本人对数据垃圾有洁癖,常常清理,那也不行,就是卡),后来想到刷机,但是网上的卡包安装recovery需要第三方刷机软件支持,最终无果而终。。。

2.4 小结

  对于三种操作系统,各有千秋,Android仍然占有最大的市场,发展空间不可限量;iOS华丽丽的外表和卓越的性能,深深的吸引着我们;WP在两面夹击中已经可以生存,接下来就是发展壮大,如果能手机、平板(主要是Surface Pro)和个人计算机操作系统(Windows NT系列)能互联(包括应用的共享),希望能够进一步发展。以上纯属个人心得想法,如有错误,请您一定不吝赐教。

3. PSP和工作量

 

PSP 事项 开始时间 结束时间 中途耽误时长 用时 是否完成计划
3.12

1.学习spark的内容,主要是spark的一些常用的实例

2.主要继续学习Elasticsearch的开发内容,条件拼接等

13:42 16:30 40分钟休息  128分钟
3.13

1.学习spark的内容,主要是spark的一些常用的实例

2.主要继续学习Elasticsearch的开发内容,查询等

 10:25 12:40  10分钟打电话还有20分钟休息   100分钟 是 
3.14

 继续spark的实例,还有一些spark sql的内容,用了用 

 13:40 15:00  忘记了  至少100分钟  计划完成了,但是没看完sql的内容 
3.15

1. 准备老师交给的任务,加入qq群,查询爬虫如何

决js加密、获取不到的问题

2. 看看作业内容,准备写博客,准备软件对比

 10:30 14:27  睡觉了,耽误50分钟左右  160分钟左右  否(作业没做完) 

 

 工作量 代码行数 博客字数 知识点
第一周 jsp(37)js(45)java(210)   知道了逆波兰的重要性(再次感谢严一格),实践小小的用了一下bootstrap,试试响应式
第二周  -  2300+

了解到需求边界,了解到公司领导的严厉,知道了自己在未来如何应对自己的工作内容;

通过看其他同学的博客,也学习到了鱼刺图和燃尽图这两种高端的工作计划图(之前只用过甘特图)

第三周      
第四周      
第五周