SlideShare a Scribd company logo
1 of 13
TAOBAO 晋升述职 - 开发类 前端开发工程师——栋寒
[object Object],[object Object],入职后第一个项目, demo 开发由拔赤完成,我负责后端联调和 bugfixed ,通过这个项目,迅速掌握公司前端开发规范和数字彩前端架构,为以 后做各数字彩重构和新彩种开发打下坚实基础。 ,[object Object],排列三的玩法变种,算法设计不是太难,玩法也比较单一,不过是一个全 新的彩种,有完整的 PRD 文档,在应用彩票公用框架基础上,只需完成排 列五的业务逻辑(玩法设计)和一些框架中不具备的功能组件,即可满足 产品需求。
[object Object],重构彩种 : 排列三、 3D 、七星彩、七乐彩、十一运夺金 项目背景 : 我的职责 :主导项目进度,完成 demo 开发后,积极主动的寻找后端工 程师和 QA 资源,推进项目进行。 项目收获 : ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
晋升的主要理由陈述 - ,[object Object],[object Object],[object Object],[object Object]
晋升的主要理由陈述 - 个人认为,彩票不同于其他项目,对算法设计和流程控制要求更高,因为一个普通的算法,有可能在用户的一个操作之后,执行数万乃至数十万次,在这种情况下,要控制页面的整体性能是件十分有挑战的事情,面对彩票够复杂的前端交互,能胜任这样的工作本身不是一件特别轻松的事情。 附上彩票前端架构图:(见下页)
晋升的主要理由陈述 -
[object Object],/**  *  数组前向去重(若有重复,去除前面的重复项)  * @param (array)  需要执行去重操作的数组 * @return (array)  返回去重后的数组 */  var distinct1 = function(arr){  var newArray = [],    obj = {};  // 倒序循环(效率更高) for(var i = arr.length; i--;){ if(!obj[arr[i]]){  newArray.push(arr[i]);  obj[arr[i]] = true;  }  } // 得到的数组取反 return newArray.reverse();  };
[object Object],较之典型的数组去重操作,此算法复杂度优雅降级,执行效率更高,在彩票项目中体现相当明显,因为在组选和值玩法中,用户每选中一个号码,会实时提示给用户已经产生多少注,随着选中选号球的增加,此方法在用户点击选号球之后会被调用数万次,所以些许效率的提升就可以让用户进行选号盘操作更加通畅。 对于算法中的缺陷,比如对数组 [5,1,“1”,true,[1],5,6,5] 使用此方法进行前向去重操作,结果是 [true, [1], 6, 5] ,在彩票项目中不会出现这样的数组去重应用,因为我们玩的只是数字,如果一定要操作类似的数组,同时提供典型的算法: var distinct2 = function(arr){ var newArray = []; for(var i=arr.length;i--;){ if(!inArray(newArray,arr[i])){ newArray.push(arr[i]); } } return newArray.reverse(); }; 保证万无一失,也算是一种渐进增强的设计。
[object Object],更多彩票底层算法: http://a.tbcdn.cn/apps/lottery/00015/common/js/cubee/base/t-base.source.js http://a.tbcdn.cn/apps/lottery/00015/common/js/c-tools.source.js
[object Object],技术改进: 十一运夺金投注页,由于玩法较多( 20 种),每种玩法都需要自己的选号盘和相应的 JavaScript 模块,导致 html 文档和外部资源文件( JS 、 CSS 等)体积偏大,见下图:
PS : 按需异步加载并非新的技术,不过对于彩票投注页面,唯一的问题在于需要解决各个模快之间的依赖关系,即在现有框架基础上进行逻辑解耦。 ,[object Object],[object Object],项目开发中的缺陷: 在十一运夺金开发过程中,由于前端架构设计的缺陷,一次性加载所有选号盘和 js 模块,投注页面有些臃肿,导致页面加载时,交互事件响应缓慢,这些在 demo 开发和 QA 测试过程中,是不会出现的,因为不是在真实的网络环境。也就是说,缺少对真实网络环境中,开发项目中可能出现性能问题的预见性。 在即将到来的一年,需要在项目开发之初,对各种环境下可能出现的问题有一定的认知,从来规避这些潜在有损用户体验的因素。
 

More Related Content

Viewers also liked

Ecm sales training sample day 1
Ecm sales training sample  day 1Ecm sales training sample  day 1
Ecm sales training sample day 1DataVault
 
Workshop i Google Fusion Tables, Gräv 2014
Workshop i Google Fusion Tables, Gräv 2014Workshop i Google Fusion Tables, Gräv 2014
Workshop i Google Fusion Tables, Gräv 2014Lotta Holmstrom
 
Phil, Edge and Neil's presentation
Phil, Edge and Neil's presentationPhil, Edge and Neil's presentation
Phil, Edge and Neil's presentationsalesianas2011
 
PP Eurocall Conference 2015
PP Eurocall  Conference 2015PP Eurocall  Conference 2015
PP Eurocall Conference 2015Anke Berns
 
Spelling list t1
Spelling list t1Spelling list t1
Spelling list t1linajuliana
 
Proficiency 4 astronomy science
Proficiency 4 astronomy scienceProficiency 4 astronomy science
Proficiency 4 astronomy sciencebrotjes15
 
Media Co2011 Creative Sampler 01172011
Media Co2011 Creative Sampler 01172011Media Co2011 Creative Sampler 01172011
Media Co2011 Creative Sampler 01172011MediaCo
 

Viewers also liked (18)

London
LondonLondon
London
 
The pitch
The pitchThe pitch
The pitch
 
My way
My wayMy way
My way
 
Eavesdroppin
EavesdroppinEavesdroppin
Eavesdroppin
 
Cultura de Massas no Século XX.
Cultura de Massas no Século XX. Cultura de Massas no Século XX.
Cultura de Massas no Século XX.
 
Unit 6
Unit 6 Unit 6
Unit 6
 
Pal80
Pal80Pal80
Pal80
 
Ecm sales training sample day 1
Ecm sales training sample  day 1Ecm sales training sample  day 1
Ecm sales training sample day 1
 
Workshop i Google Fusion Tables, Gräv 2014
Workshop i Google Fusion Tables, Gräv 2014Workshop i Google Fusion Tables, Gräv 2014
Workshop i Google Fusion Tables, Gräv 2014
 
Phil, Edge and Neil's presentation
Phil, Edge and Neil's presentationPhil, Edge and Neil's presentation
Phil, Edge and Neil's presentation
 
Dart 1.1
Dart 1.1Dart 1.1
Dart 1.1
 
PP Eurocall Conference 2015
PP Eurocall  Conference 2015PP Eurocall  Conference 2015
PP Eurocall Conference 2015
 
Neek To Chic
Neek To ChicNeek To Chic
Neek To Chic
 
Spelling list t1
Spelling list t1Spelling list t1
Spelling list t1
 
Exam 1 review
Exam 1 reviewExam 1 review
Exam 1 review
 
Proficiency 4 astronomy science
Proficiency 4 astronomy scienceProficiency 4 astronomy science
Proficiency 4 astronomy science
 
Media Co2011 Creative Sampler 01172011
Media Co2011 Creative Sampler 01172011Media Co2011 Creative Sampler 01172011
Media Co2011 Creative Sampler 01172011
 
Infocat 11 2011
Infocat 11 2011Infocat 11 2011
Infocat 11 2011