haizlin / fe-interview

前端面试每日 3+1,以面试题来驱动学习,提倡每日学习与思考,每天进步一点!每天早上5点纯手工发布面试题(死磕自己,愉悦大家),6000+道前端面试题全面覆盖,HTML/CSS/JavaScript/Vue/React/Nodejs/TypeScript/ECMAScritpt/Webpack/Jquery/小程序/软技能……
http://www.h-camel.com
MIT License
25.54k stars 3.26k forks source link

[软技能] 第927天 说说你对代码可读性的理解 #4637

Open haizhilin2013 opened 3 years ago

haizhilin2013 commented 3 years ago

第927天 说说你对代码可读性的理解

3+1官网

我也要出题

hyj443 commented 3 years ago

写了500多道leetcode题,有感jser的整体代码水平是低cpp java他们一截的 所以一直在通过做算法题提高js代码水平 我个人是拒绝当一个库函数爱用者的,不会为了刻意精简但带来时间复杂度增加而使用库函数 但像一些数组方法 some filter every这种 语义很明显也很好用就会使用 但很少像函数式编程那样链式去写,我认为不好读 不排斥传统的for loop,他也是优美的,也非常可控 一行代码尽量做一件事,比如自增++也尽量开新的一行 合理化的封装,不过度封装,过程式的代码适当的添加注释 尽量使用不开辟太多空间,创建一堆数组 对象,写完review一下,看看哪些数据结构可以不用写 变量命名的语义化,不要去简写一个字母代替,见过好多,,真的难读 一个函数应该只做一件事,不要在一个函数中执行过多操作 if的条件表达式尽量别用 非 作为条件 每个文件不要超过200行 每个函数不要超过80行 必须有code review