新手程序员常犯的十个毛病

先引见下背景,博主由运营转行前端,入职一个月,完成了一个相对较大的模块。因为基本相对柔弱,犯下了不少毛病,故想记录下来警省本身和分享列位。

前端手艺栈是 ES6 + backbone + react + antdUI,后端运用的 Ruby on Rails

1.未遵照MVC星散头脑

MVC说起来异常简朴易懂,即model+view+controll,数据-视图-掌握星散,特定的模块做特定的事变,便于顺序的保护和拆分。我的体验是我有这个认识,却经常写出分歧范例的代码。

出现题目的原因是笼统是不符合人的天分的,天分就是怎样简朴怎样来,不会顾及到团体架构怎样。

处置惩罚办法也很简朴,改! 不停的修改你的代码,改到圆满为止!改的过程当中不停通知本身,我如许写是错的,下次不能如许写。对峙一段时间很有结果。

2.缺乏必要的解释

大段的if-else缺乏解释,让保护者没法疾速区分分支逻辑。特定处所存在hack或庞杂逻辑的代码,缺乏解释会让后来者不明所以。为了你好,也为了后来者好,请务必加上代码。说不准今后照样由你来保护这段代码。

3.稳固和变化的部份拆分

顺序员中流传着一句话,此处不要写死,未来必改。有履历的顺序员会将一些营业层的逻辑笼统出来,写成配置文件,优点就是若后续需求有转变,只需改配置文件即可,一定不会引入bug。

4.无视测试部份

顺序员中又流传着一句话,没有测试的代码即是没写。虽不敢悉数赞许,却也有几分原理。从测试用例驱动开辟,延续集成,每次编译自动跑测试用例,可以保证体系的稳固同时也减轻测试本钱。本身改的的部份做好自测,明白需求,做一个有责任心的工程师。

5.直接操纵数据

你应当经由过程要领去操纵数据,而不是直接操纵数据,如许可以保证你总能操纵数据准确。
比方一个类中定义的属性发生变化了,代码中一切涉及到直接操纵该属性的代码都须要修改。假如经由过程要领操纵该属性,则仅需修改操纵要领,关于外部调用者,类属性变化被屏障了,遵照相识耦的准绳,代码稳固性大大进步。

6.代码中存在hard code

hard code=>魔法数字,效果是代码中不明所以的数字随处乱飞,让人读来稀里糊涂,全然不动个中的意义。假如你不想你的代码被人破译,请恣意的运用hard code

7.写反复的代码

DRY,don't repeat yourself! 这个话题聊起来预计三天三夜也说不完。电脑擅长人不愿意干的、反复的事变,所以电脑解放了人类。那末顺序员怎样解放本身呢?那就是不写反复的代码,个中一个原则就是三次。一件事变反复三次,就可以从中提掏出规律。

Example: 1, 2, 3, ….

Example: 1, 2, ….

8.不懂debug和怎样处置惩罚题目

写代码从debug最先。每个初学C言语的人都邑碰到林林总总的题目,比如缺了分号,if推断写成赋值。初学者不相识言语和个中的坑,唯一能处置惩罚题目的就是一步一步进入代码的实行,找到个中分歧预期的处所,即为bug地点。找一个称手的IDE,进修一下debug80%的题目就会被文档和debug处置惩罚

9.不范例的事情流

制订合理的事情流程可以削减风险变乱的能够和进步事情效率。
关于顺序员来讲,work flow更意味着代码的构造,事情成员之间的合作体式格局。
我常犯的一个毛病是直接在alphamaster分支上直接commit,而团队是不允许如许做的。一切的修改必需只能经由过程 merge 的体式格局合并到主分支,如许的优点在于防止bugfix仅在alpha上处置惩罚,而遗忘mergemaster上。这些都可以经由过程 CI 或许git hook 等一些剧本或东西完成。

优越的编码习气不是一日养成的,要从各个细节处不停修改进步。好的代码构造清楚,读来心旷神怡,坏的代码,杂沓蹩脚,让保护者不由得骂娘。一名初学者要不停地读巨匠的代码,吸取个中的营养,不停修改本身的代码,祝贺列位有朝一日都能写出文雅的代码。

    原文作者:风满楼
    原文地址: https://segmentfault.com/a/1190000008207481
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞