首页 > PHP资讯 > Python培训 > 如何编写更棒的代码:11个核心要点

如何编写更棒的代码:11个核心要点

Python培训
  作为一个合格的程序员,有太多的理由促进你去编写干净利落且可读性强的代码。最主要的是因为你编写的代码,将来会有许多人一次次地阅览。当你有一天回过头来看自个的代码时,你就会理解编写高雅的代码是多么的主要。别的,假如他人来阅览你编写的代码,你是不是想知道他人看到那些烂代码无比抓狂的感触。因而,花多一点的时刻去编写高雅的代码,将来说不定会给你节省更多的时刻。

  那么,如何编写更棒的代码,下面是11条底子规矩:

  坚持办法简短扼要

  永久永久不要将同一个变量用于不相同的意图

  尽可能让变量和办法的称号能够描述要完结的功用

  尽可能将变量界说在最靠近它们的当地

  不要呈现让人隐晦的数字

  要像对待兄弟相同对待你擅长的言语

  不要逆惯例而行

  千万当心过早的优化代码

  要常常重构经过测验的代码

  不要沉溺于过度的规划窍门

  随时随地学习新的常识

  下面咱们来对每一点具体打开介绍。

  1、坚持办法简短扼要

  尽管许多人都遵从这条规矩,可是它仍然很主要。总的来说,编写的办法最佳能在首屏彻底显现。试想,假如你需求翻滚页面才干看到整一个办法,那是一件多么分散注意力的作业。一个办法最佳能坚持在5 – 20行之间,当然,你也要视具体情况而定,并不是混为一谈的。对于getter和setter办法,通常只需一行代码,所以它们看起来更像是类成员的存取拜访器。

  2、永久永久不要将同一个变量用于不相同的意图

  一个变量应当只能被用于一个意图,咱们能够经过运用常量(C++顶用const标识,Java顶用final标识),协助编译器优化代码编译,也能够向程序标识“这个变量是不能被改动的”,这么咱们编写的代码就有更好的可读性。

  3、尽可能让变量和办法的称号能够描述要完结的功用

  一段通俗易懂的程序代码,应当是任何人只需看了代码,就能理解程序是用来干嘛的。所以我主张咱们尽量少用缩写,除非是程序界公认的简写习气,像下面的简写习气:

  src - source pos - position prev - previous

  假如你觉得描述性的简写办法没有价值,你能够对比一下n, ns, nsisd和numTeamMembers, seatCount, numSeatsInStadium

  4、尽可能将变量界说在最靠近它们的当地

  当你在盖房子的时分,总不期望把锤子放在他人家的宅院里吧,相反,你会把盖房的东西放得尽可能近,界说变量也是相同的道理。

  int foo = 3; int bar = 5; // bunch of code that uses "bar" // but doesn't care about "foo" // ... baz(foo);

  咱们能够这么重构代码:

  int bar = 5; // bunch of code that use "bar" // but doesn't care about "foo" // ... int foo = 3; baz(foo);

  当你把变量的声明跟运用它的当地相隔太远的时分(乃至是超越一屏),那确实会给你带来很大的费事。你会常常翻滚页面去寻觅这个变量,致使你很难在大脑中坚持代码之间的连贯性。

  5、不要呈现让人隐晦的数字

  任何时分,你要对比一些常量时,都要将它们界说成constant类型。团队之间调试代码时最让人头疼是呈现下面的代码:

  il < 4384

  把它替换成下面的代码该多好:

  inputLength < MAX_INPUT_LENGTH

  6、要像对待兄弟相同对待新学习的言语

  学习一种新的编程言语是一件很风趣的作业,你将学会用新的很帅的办法处理疑问。假如让一个对某种言语很专业的人去学别的一种言语,许多时分会让人爱莫能助。举个比方,让一个Java开发者企图去学Ruby,你就应当要学会用Ruby的办法去处理疑问,而不是持续沿袭Java的处理疑问的思维。

  当你需求循环输出5遍”Hello World“时,Java代码应当会是这么:

  for (int i = 0; i < 5; i++) { System.out.println("Hello world!"); }

  可是用Ruby,你或许会这么写:

  for i in (0..5) puts "Hello world!" end

  这些看上去都很不错,可是最完美的办法可能是下面这么:

  5.times { puts "Hello world!" }

  7、不要逆惯例而行

  每一种编程言语都有自个的束缚习气,总的来说,咱们对Java的编程习气可能会了解得对比多,咱们一起来看看其间的一些习气:

  办法名以小写字母最初,后边紧跟的是大写字母最初的单词,比方veryLongVariableName。

  类名通常都是大写字母最初的单词组合。

  常量的命名都是大写字母的单词,之间用下划线离隔,比方MY_CONSTANT

  左大括号应当跟if在同一行

  只要在无可奈何的时分才干打破这种规矩,千万不要因为不喜欢这种做法而违反现已约定好的编码风俗。假如你身为团队一员,想改动一些编码规矩的话,那也能够,不过当你把自个的代码共享给没有你这种习气的队友的时分,扎手的疑问会迎面而来。

  8、千万当心过早的优化代码

  过早的优化是一切疑问的根源,最少电视上是这么说的…你的首要任务是编写简略理解的代码,而不要求你能很快写出来。除非你的程序运转很慢,不然谈优化都是为时太早。假如你想优化你的程序,那么得先找出程序的疑问,这即是咱们需求profilers这个东西的缘由。

  在没有找到疑问源头就去优化代码,这么做你所要支付的价值即是损坏了程序的构造,最少会损失程序的可读性。假如你发现程序运转缓慢了,也不要盲目地重构代码,要先找到致使运转慢的底子缘由。

  千万不要傻呵呵地去处理底子不存在的疑问。

  9、要常常重构经过测验的代码

  世上没有肯定完美的作业。尽管你以为自个的代码现已写得十分完美了,过一段时刻也要常常去看看它,或许那时你会对自个大骂:”怎么会那么傻!”

  有一种进步代码质量的办法,那即是常常重构经过测验的代码。所谓经过测验,我指的是程序要能正常作业,你能够经过自动化测验或许手动测验来保证这一点。

  首要你要保证程序能够正常运转,第一次咱们并不需求写出多么完美的程序,能用就行,接下来咱们能够渐渐重构,让它逐步变得完美。这种开发办法很有TDD的滋味,关键在于你需求熟悉重构的每一个环节。假如你娴熟运用一些高档的IDE,像IntelliJ IDEA,那你的重构作业将会简略许多。

  重构完今后,或许你会碰到许多这么那样的疑问,乃至会损坏正常的程序,这即是咱们要运用自动化测验的缘由了。当你重构完今后,跑一遍单元测验就能避免这些令人头疼的疑问了。

  10、不要沉溺于过度的规划窍门

  当我第一次接触到规划形式这一概念时,我觉得自个找到了“圣杯”。这些精妙的规划思维能够让你作业愈加顺畅,也能够让你的规划深入浅出,因为你能够简略的说“我运用了观察者形式”,而不相同大费周章的解说一通。但是疑问来了,因为有些疑问看起来太自然太简略了,你会把那些规划形式的思维使用到任何当地,为何不把这个类规划成单例形式(singleton)?干嘛不去创立一些工厂类呢?

  所以用80行代码就能完结的脚本,成果你用了10个类,15个接口和成堆泛型和注释,这其间的97%代码并没有做实质上的作业。规划形式尽管十分有用,能够协助你简化规划,可是这并不是说你能够处处运用它们。你能够运用规划形式,可是不能将它滥用了。

  11、经过实例学习新的常识

  编程即是一项学习新常识的作业,当你学到了新的类库或许编程言语时,你会刻不容缓地扔掉老的代码,进而去重写它们。但是有许多理由阐明你不应这么做。

  将一个新的类库或许框架使用到现有的项目中就会呈现相似的疑问。比方说你正在为一个Web项目写Javascript,可是中心你发现了jQuery,这时分你会刻不容缓想把jQuery使用进入,而扔掉原来的Javascript代码,即便你底子没用jQuery写过任何项目。

  最佳的办法是你先用jQuery学着写一些简略的比方,把你项目中要用到的技能都学会。比方说你想要用AJAX?就先在项目以外写一些对于AJAX的简略比方,比及彻底把握了,就能够将老代码从项目中移除。

  假如你热衷于编程,我强烈推荐你阅览Steve McConnell编写的《Code Complete》,它将永久改动你的编程思维。(文章来自南京欣才PHP培训课程

本文由欣才IT学院整理发布,未经许可,禁止转载。