写好代码的十个秘诀

写好代码的十个秘诀

ID:41232748

大小:508.50 KB

页数:80页

时间:2019-08-20

写好代码的十个秘诀_第1页
写好代码的十个秘诀_第2页
写好代码的十个秘诀_第3页
写好代码的十个秘诀_第4页
写好代码的十个秘诀_第5页
资源描述:

《写好代码的十个秘诀》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、10ThingsYouCanDoToWriteBetterCode写好代码的十个秘诀林斌DevelopmentManagerMicrosoftResearch,China1一流代码的特性鲁棒-SolidandRobustCode简洁-MaintainableandSimpleCode高效-FastCode简短-SmallCode共享-Re-usableCode可测试-TestableCode可移植-PortableCode一流代码2Whyisthiscodebad?voidMyGirlFriendFunc(CORP_DATAInputRec,i

2、ntCrntQtr,EMP_DATAEmpRec,floatEstimRevenue,floatYTDRevenue,intScreenX,intScreenY,COLOR_TYPEnewColor,COLOR_TYPEPrevColor,STATUS_TYPEstatus,intExpenseType){inti;for(i=1;i<100;i++)InputRec.revenue[i]=0;for(i=1;i<100;i++)InputRec.expense[i]=CorpExpense[i];UpdateCorpDatabase(EmpR

3、ec);EstimRevenue=YTDRevenue*4.0/(float)CrntQtr;NewColor=PreColor;Status=Success;if(ExpenseType==1)for(i=1;i<12;i++)Profit[i]=Revenue[i]-Expense.Type1[i];elseif(ExpenseType==2)Profit[i]=Revenue[i]-Expense.Type2[i];elseif(ExpenseType==3){Profit[i]=Revenue[i]-Expense.Type3[i];}

4、3Whyisthiscodebad?voidMyGirlFriendFunc(CORP_DATAInputRec,intCrntQtr,EMP_DATAEmpRec,floatEstimRevenue,floatYTDRevenue,intScreenX,intScreenY,COLOR_TYPEnewColor,COLOR_TYPEPrevColor,STATUS_TYPEstatus,intExpenseType){inti;for(i=1;i<100;i++)InputRec.revenue[i]=0;for(i=1;i<100;i++)

5、InputRec.expense[i]=CorpExpense[i];UpdateCorpDatabase(EmpRec);EstimRevenue=YTDRevenue*4.0/(float)CrntQtr;NewColor=PreColor;Status=Success;if(ExpenseType==1)for(i=1;i<12;i++)Profit[i]=Revenue[i]-Expense.Type1[i];elseif(ExpenseType==2)Profit[i]=Revenue[i]-Expense.Type2[i];else

6、if(ExpenseType==3){Profit[i]=Revenue[i]-Expense.Type3[i];}4Because…Badfunctionname–MaintainabilityCrashifCrntQtrequals0–RobustnessNocomments–MaintainabilityUnnecessaryforloop–PerformanceThefunctionhasnosinglepurpose–ReusabilityBadlayout–Simplicity&MaintainabilityNonetestable

7、ifExpenseTypeis1–TestabilityManymore:toomanyarguments,abuseusageof100,4.0,etc,un-useparameters,none-documentedparameters…5代码高手十大秘诀集百家之长,归我所用-FollowBasicCodingStyle取个好名字-UseNamingConventions凌波微步,未必摔跤-Evilgoto’s?MaybeNot…先发制人,后发制于人-PracticeDefensiveCoding见招拆招,滴水不漏-HandleTheErr

8、orCases:TheyWillOccur!6代码高手十大秘诀(Cont.)熟习剑法刀术,所向无敌-LearnWin32APISeriously双手互

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。