在完成party-bid四张卡后,根据公司培训的要求,又用了一周到两周的时间对party-bid进行了重构。这就要求不仅仅能实现软件工程的相关功能,而且对代码书写又有了一定的要求,这里我总结为:规范化、结构化、模块化、专业化。通过对代码的重构不仅提高了程序的可读性、规范性,也同时无形中提高了作为程序员书写代码的能力和编程的思想。
根据我重构的顺序,第一步做的是代码的规范化:
代码规范化,包括就是把所做的程序中JS文件、函数、变量名称规范化。JS文件规范化,相应的JS或者CSS文件放到相应的文件夹,并保证在route中配置好。函数规范化,见名知义,函数名能直接反映出函数的功能、函数做的事情,同时还要保证有函数只做一件事。比如renderBidResult函数,它只负责取到竞价的结果并把相应的结果返回,而不在次函数中计算得到竞价结果,这又是另一个函数完成的功能。如果在阅读代码的过程中看到一个函数完成了两个或多个功能,这时要做的就是拆分函数。变量名称规范化,u同样也是见名知义,注意是局部变量还是全局变量,变量的作用域,我认为能减少中间变量还是要减少,这样会降低代码复杂度。
第二步做的是结构化:
具有相似功能的函数放到一起,实现工程某一功能的函数及代码放到一起,结构化。angular-js是面向对象的开发框架,我们就应使用面向对象的编程思想,MVC的开发模式,V层只负责前台页面的显示,C层控制层负责显示的数据,M层负责数据交互。
第三步是模块化:
其实这块是MODEL的东西,根据面向对象的编程思想,建立相应的类和对象,包括类中相应的属性和方法,方法根据需要定义相应的类方法还是实例方法。模块化对代码的重构比较重要的一个环节,对代码改动比较大,同时也比较重要,这里不仅要封装函数,有的函数可能还要重写。
最后一步是专业化:
这里我做的主要包括两点:减少圈复杂度提高可读性和避免使用循环语句。
减少圈复杂度就是,避免使用大量的if else语句,最忌讳的是大量ifelse嵌套,使用的方法是else下面的功能程序函数化,函数层层调用。
避免使用循环语句,这里使用的方法是人家给提供好的函数(underscore),这样不仅可以使程序简化很多,更专业化,也大大的减少了程序员的工作量,提高开发效率。
分享到:
相关推荐
IOS-BID-Sections 在第 8 章中将 SearchBar 演示更新到 ios8。
Attacks and Improvement of Quantum Sealed-Bid Auction with EPR Pairs
bid0-lid0-steam游戏管家_steambdth01_1.0.0.1487@1prw2r@gog.exe
马里奥matlab代码适应类别的BID 一种基于即插即用方法的适应类盲图像去模糊方法。 %================================================= ===================% [1]和[2]中的适用于类的BID方法的MATLAB DEMO。 该...
bid0-lid64-steam.game_steamzc9_2.0.0.2702.exe.file
怪物叫价 遗传神经网络。 最初的目标是:金融市场预测。 使用 gcc 构建(构建mbtutor和mbtester ): $ make 请记住: 这个软件在这里只是作为我写过的代码的展示(前一段时间)。 它通常不会完成其任务。...
语言:English (United States) 开始赢得quibids&deaoldash!...”BID-Ninja软件有三个核心组件1 - BID-NINJA分析:如上所述,提供有关竞争对手的全面了解您的竞争对手和您试图获胜的拍卖。2 - BID-NINJABi
Create React App入门 该项目是通过引导的。 可用脚本 在项目目录中,可以运行: yarn start 在开发模式下运行应用程序。 打开在浏览器中查看它。 如果您进行编辑,则页面将重新加载。 您还将在控制台中看到任何...
bid0-lid64-steam.game_steamzc_2.0.0.2242.exe
2出价由KPXSoft进行2次竞标21组胡安·曼努埃尔·德尔·巴里奥·塞乔·塞瓦·塞瓦·安通特拉·门迪奇尼
Bid Documents - Toyota Hilux Fx
AdWords每小时出价优化 带有相应Google表格模板的Google脚本,可以按一周中的某天+小时在AdWords中优化您的出价。... 此剧本在第2集的Envoy的Digital Power Plays YouTube频道中得到了重点介绍。 在上面的视频中,...
matlab图像减影代码UM-BID 曼尼托巴大学乳房微波成像数据集 (UM-BID) 是一个开放获取的数据集,可供所有研究人员使用。 该数据集包含来自 MRI 衍生的乳房模型的实验扫描数据。 可以找到数据集本身。 缩短的链接是...
Intraday pattern in bid-ask spreads and its power-law relaxation for Chinese A-share stocks,倪晓晖,周炜星,We use high-frequency data of 1364 Chinese A-share stocks traded on the Shanghai Stock ...
New Plant IT Cabling Project bid-Technical.pdf
Information Asymmetries in Pay-Per-Bid Auctions How Swoopo Makes Bank 外文中翻译的一个章节
数据格式 uid_score_bid 如 dingdanglbh,4.0 ,25862578 Luna-cat,5.0 ,25862578 aiyung,5.0 ,25862578
bid格式招投标文件阅读器,可以打开浏览、管理电子招标文件,如果打不开标书文件,请按下面步骤检查:1、请查看招标文件(.bid文件)是否下载完全,请用IE下载工具下载;2、查看IE浏览器版本,如果版本低于IE8,低于IE...
// 'ask-bid', 2 game . next ( 'pass' , 2 ) ; // 'ask-bid', 0 game . next ( 'bid' , 0 , 24 ) ; // 'ask-ack', 1 game . next ( 'pass' , 1 ) ; // 'ask-declare', 0 game . next ( 'declare' , 0 , { suit : ...
好吧,我们也讨厌它,这就是为什么我们创建了bid-Watcher。 该网站使您可以在一个平台上方便地观看所有拍卖。 您需要做的就是注册,登录并开始列出您观看的拍卖。 有关更多信息,请访问http://www.bid-watcher.com/