编程之路:从零到腾讯,探索高质量代码的奥秘

前言

想要顺顺利利进入大厂,养成一些好的代码习惯和认真钻研这些大厂的高质量代码必不可少哦,所以我们应该养成哪些好的代码习惯呢?首先我们先探索一下腾讯高质量代码的奥秘,让我们一起来见证言谭和椰汁的爱情开始之路吧!

高质量代码介绍

  1. 创建言谭和椰汁两个对象
  2. 创建两个方法sendFlower和 receiveFlower实现言谭给椰汁送花
javascript 复制代码
const lpp={
            name:'言谭',//简单数据类型
            hometown:'上饶',
            age:18,//数值类型,
            girlfriend:null,//空
            city:undefined,//未定义
            isSingle:false,//布尔值类型
            hobbies:['睡觉','吃','打麻将'],//对象
            //形参
             sendFlower(receiver){
                receiver && receiver.receiveFlower(lpp);//提高代码健壮性 安全代码 防止用户传空值
            }
        } 
       
        const ltt={
            name:'椰汁',
            hometown:'上饶',
            mood:20,
            receiveFlower(sender){
                console.log(this.name+'收到了 '+sender.name+' 的花花~');
            }

        }

仔细观察,其实代码的思路存在一定问题,可以进一步改进,如果在椰汁心情不太好时,收到花花可能效果不太好,那么这个时候就需要一个小零二(接口)天使来帮助言谭将花传送给椰汁,等椰汁心情好再送花花,改进代码如下:

xml 复制代码
<script>
        /*
        *@func 代理送花
        *@desc 通过实现receiveFlower,互换对象
        *@author 椰汁
        *@data   24/4/15
        */
        //对象 object 复杂(引用)数据类型
        const lpp={
            name:'言谭',//简单数据类型
            hometown:'上饶',
            age:18,//数值类型,
            girlfriend:null,//空
            city:undefined,//未定义
            isSingle:false,//布尔值类型
            hobbies:['睡觉','吃','打麻将'],//对象
            //形参
             sendFlower(receiver){
                receiver && receiver.receiveFlower(lpp);//提高代码健壮性 安全代码 防止用户传空值
            }
        } 
       
        const ltt={
            name:'椰汁',
            hometown:'上饶',
            mood:20,
            receiveFlower(sender){
                console.log(this.name+'收到了 '+sender.name+' 的花花~');
                if(this.mood<80){
                    console.log(sender.name+'我们还是算了!');
                }
                else{
                    console.log(sender.name+'恰饭去~');
                }
            }

        }

        //对象字面量
        const xle={
           name:'小零二',
           hometown:'上饶',
           //实现了和ltt一样的接口,就可以互换
           receiveFlower(sender){
                 setTimeout(function(){
                 ltt.mood=99;
                 ltt.receiveFlower(sender);
            },2000);
            
        }
    }
        lpp.sendFlower(xle);
    </script>

总结

  1. 面向对象编程:JS是一门表现力极强的语言,{}即可声明一个对象,对象由属性和方法构成;
  2. 代码要够健壮:代码要被怎么调用不清楚,留个心眼,例如上述的receiver && receiver.receiveFlower();
  3. 抽象思想:lpp和ltt是一个个对象,当对象越来越多的时候,越来越复杂;
  4. 接口(interface):当多个对象具有相似的方法时,可以互换使用;
  5. 代理模式(proxy ):面向对象设计模式的一种,可以通过接口让对象之间互换使用,从而达到某些复杂目的;
  6. JS语法: (1)简单数据类型:字符串String,数值类型Number,布尔值Boolean,Null,Undefined; (2)复杂数据类型:其他的一切都是对象:Object, {}, [], function也是对象;
  7. 代码规范: (1)大厂都有代码规范,写代码前读一读; (2)驼峰式命名,结尾以' ; '结束,多写注释。
希望能给各位友友们带来一些帮助**~**
相关推荐
小桥风满袖42 分钟前
极简三分钟ES6 - ES9中字符串扩展
前端·javascript
前端人类学1 小时前
掌控异步洪流:多请求并发下的顺序控制艺术
javascript·promise
CryptoRzz1 小时前
印度尼西亚股票数据API对接实现
javascript·后端
lecepin2 小时前
AI Coding 资讯 2025-09-17
前端·javascript·面试
猩兵哥哥3 小时前
前端面向对象设计原则运用 - 策略模式
前端·javascript·vue.js
江城开朗的豌豆3 小时前
解密React虚拟DOM:我的高效渲染秘诀 🚀
前端·javascript·react.js
江城开朗的豌豆4 小时前
React应用优化指南:让我的项目性能“起飞”✨
前端·javascript·react.js
Asort4 小时前
JavaScript 从零开始(六):控制流语句详解——让代码拥有决策与重复能力
前端·javascript
EMT4 小时前
在 Vue 项目中使用 URL Query 保存和恢复搜索条件
javascript·vue.js
艾小码4 小时前
还在被超长列表卡到崩溃?3招搞定虚拟滚动,性能直接起飞!
前端·javascript·react.js