如何写出高质量代码

教你写出高质量代码的方法网络上有很多,比如设计原则、设计模式、重构技巧、命名规范等,以上这些本文统统都不会讲。个人理解高质量代码一定是结合业务并深度思考过的产出。很多人拿到需求后,业务和流程还没理顺后就直接编码,然后边写、边想、边改,流程大概像这样:

要解决上面的问题,最方便的办法就是写文档,拿到需求后,不要急着编码,先在整体上把需求梳理一遍,做到全局有数,然后在文档上按模块拆解业务,每个业务的实现过程用中文简单描述下,想出最简单直接的设计,如果流程复杂,可以画一些流程图做辅助。文档形成后,需求其实也充分理解了,逻辑遗漏的地方也比较少,剩下来的就是将文档翻译成代码就行,流程大概这样:

想写很多,但感觉又没什么好写,都在上面两张图上,希望能引起你的一些思考,拜拜~

如果远方呼唤我

我就走向远方

如果大山召唤我

我就走向大山

双脚磨破

干脆再让夕阳涂抹小路

双手划烂

索性就让荆棘变成杜鹃

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/299240.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mysql的查表语句_mysql查表语句_MySQL

bitsCN.commysql查表语句[sql]describe table_name;这个命令用来显示一个表格的结构------------------------------------------------| Field | Type | Null | Key | Default | Extra |------------------------------------------------| ID | int(11) | NO | PRI | NULL | …

AOP技术研究 再续

第四部分 .Net平台AOP技术研究 4.1.Net平台AOP技术概览 .Net平台与Java平台相比,由于它至今在服务端仍不具备与unix系统的兼容性,也不具备类似于Java平台下J2EE这样的企业级容器,使 得.Net平台在大型的企业级应用上,常常为人所诟…

震惊!原来现在无所不能的世界主人翁,早已在三千年前就悄然出现!

▲ 点击查看早在春秋时代,鲁班作为机械工程师的祖师爷,就极其擅长且痴迷于一些古怪的机械装置,因此,他除了发明了墨斗、曲尺这些正儿八经的东西之外,最出名的就是用木头,发明了一只据说能在天上飞三天而不落…

ASP.NET MVC 1.0 Result 几何?

Action的返回值类型到底有几个?咱们来数数看。 ASP.NET MVC 1.0 目前一共提供了以下十几种Action返回结果类型: 1. ActionResult(base) 2. ContentResult 3. EmptyResult 4. HttpUnauthorizedResult 5. …

针对SharePointFarm场时安装部署OWA的步骤

下面文章列出针对SharePointFarm场时安装部署OWA的步骤: http://blogs.technet.com/b/meamcs/archive/2013/03/27/office-web-apps-2013-multi-servers-nlb-installation-and-deployment-for-sharepoint-2013-step-by-step-guide.aspx转载于:https://www.cnblogs.co…

mysql双机互备linux成功的_配置MySQL双机热备 - Linux服务器MySQL双机热备份试验_数据库技术_Linux公社-Linux系统门户网站...

二、配置MySQL双机热备传统模式都是采用MySQL双机互备,至于双机热备我搜索了大量的精华帖子都没有发现安装配置文档。故我的一个想法产生了:当建立新的数据库时,默认会建立到/usr/local/mysql/data这里,如果能改掉默认配置文件my.…

万字总结:开源软件通识基础课第三周知识点总结

我们在前两周的课程上(第一周、第二周),系统讲授了 FOSS 的课程内容,第三周,我们开始进入 COSS(商业开源)的部分。本导学班在调研全球开源教育与课程的基础上,通过收集、整理、理解、…

CISCO IOS SLB服务器负载均衡

CISCO IOS SLB在多台服务器之间智能地均衡TCP/IP流量,是一种4层或7层交换功能。目前只有catalyst 6500支持。推荐在在catalyst 6500交换机中选择ACE服务模块,不仅能提供16Gbit/s的性能,而且还能通过SSL加密和双向内容检查实现安全性。优点&a…

掌握深度学习,为什么要用 PyTorch、TensorFlow 框架?

全世界只有3.14 % 的人关注了爆炸吧知识自从2012年深度学习再一次声名鹊起以来,许多机器学习框架都争先恐后地要成为研究人员和行业从业者的新宠。面对如些众多的选择,人们很难判断最流行的框架到底是什么。在某些情况下,深度学习或深度迁移学…

SharePoint 2010 中的BCS身份验证模式

BCS(Business Connectivity Services)是SharePoint 2010中用于替换原先Microsoft Office SharePoint Server 2007企业版的业务数据目录(Business Data Catalog ,简称BDC)的一项新服务。 BCS相比BDC而言有许多改进&…

SD卡读写扇区注意事项(转)

源:http://blog.163.com/zhaojun_xf/blog/static/30050580201151410635516/ 在调试SD卡时,大家都喜欢使用扇区进行验证。也就是说,一般都是通过读写扇区数据进行比较,或者读取第0扇区的数据,在通过WinHex软件打开启动扇…

mysql用in查询list_Mysql优化器对in list的处理

select * from table where id in (....)这样的查询,是走范围索引还是走等值索引?select * from table where key_part1 in (....) and key_part2XX;这样的查询,第二部分还走不走索引?测试目的,想知道,MYSQ…

开源软件通识基础:第二周课程回顾与总结

接第一篇《开源软件通识基础:第一周课程回顾与总结》,本文为第二周课程内容的回顾与总结。本导学班在调研全球开源教育与课程的基础上,通过收集、整理、理解、拓展国际最新的前沿开源课程,采取众创的模式,由 X-lab 核心…

心情分享

很快,毕业半年多了也工作半年了。回过头想想这段时间更多的是思考,想说的是自己的认识,能做的只有更加的努力。现在都把大学生和民工做比较,甚至有人说大学生还不如民工。是对还是错?谁的错,没有衡量的依据…

mysql数据连接查询_mysql数据库 连接查询

左连接:select 列1,列2,列N fromtableA left join tableBon tableA.列 tableB 【此次表连接成一张大表,完全当成普通表看】where group ,having...照常写例:select goods_id,goods.cat_id,cat_name,goods_name,sho…

在DataGrid中合并单元格行

最近在做项目的时候经常遇到要合并单元格的情况,发现这个东西.net中并没有现成的方法,研究了一下,总结了两种方法。 这个主要都是行合并的,有以下两种情况 1、多行合并为一行,其中将某个或某几个单元格的内容合并起来 …

封装log4cp p

log4cpp 是参考 log4j 所写的 c 版本的写 log 的库。可以在这里下载http://log4cpp.sourceforge.net/我的使用方法是:1,定义了一个 _LOG4CPP 宏,用来打开或关闭 log4cpp 的调用,以便在完全不需要 log 的情况下可以运行&#xff0c…

这些口碑炸裂的BBC神片,就是给孩子最好的生命教育

全世界只有3.14 % 的人关注了爆炸吧知识对孩子来说,好的纪录片就像是打开了一扇新世界的大门,让他们了解了更多大自然的奇妙之处。所以这次我们精心挑选了几部适合儿童观看的纪录片,其中绝大多数是导演专门为孩子拍摄的,大家可以在…

依赖注入生命周期

介绍依赖注入只负责由其创建的对象实例容器或者子容器释放的时候,会释放由其创建的对象实例。推荐使用容器来来管理我们的对象的创建和释放。操作为了演示,我们创建一个UserService,并让该Service继承IDisposablepublic class UserService : …

常用网络面试题一

1、 win2000,win2003个有几个版本,每个版本最新系统补丁包是什么啊? 2、 DNS的实现方法? 3、 WEB服务器的负载均衡? 4、 请问目前市面上常用几种网络操作系统的优缺点? 5、 请问你用过那些服务器?请讲述rai…