Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >编程之路:从零到腾讯,探索高质量代码的奥秘

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

作者头像
用户6256742
发布于 2024-05-16 06:57:13
发布于 2024-05-16 06:57:13
16100
代码可运行
举报
文章被收录于专栏:网络日志网络日志
运行总次数:0
代码可运行

前言

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

高质量代码介绍

  1. 创建言谭和椰汁两个对象
  2. 创建两个方法sendFlower和 receiveFlower实现言谭给椰汁送花
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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+' 的花花~');
            }

        }

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<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)驼峰式命名,结尾以' ; '结束,多写注释。
希望能给各位友友们带来一些帮助~
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-04-18 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
JavaScript设计模式之代理模式
当你想买商业保险的时候,却不得不亲自去了解不同公司的方案和限制。在自己百忙之中分神和不同的销售博弈。有了职业的保险经纪人,你只要向他/她讲述你的需求,经纪人就用自己的关系量身定做了一套方案给你。买哪家,怎么买,等等。保险经纪代理的模式,很好地体现了程序设计关注点分离的思想。
一粒小麦
2019/10/30
3710
JavaScript设计模式之代理模式
JavaScript设计模式 代理模式
代理模式的关建是,当客户不方便直接访问一个对象或者不满足需要的时候,提供一个替身对象来控制对这个对象的访问,客户实际访问的是替身对象,替身对象对请求做出一些处理后,再把请求转交给本体对象。
菜的黑人牙膏
2019/01/21
3870
「设计模式 JavaScript 描述」代理模式
代理模式是一种非常有意义的模式,在生活中可以找到很多代理模式的场景。比如,明星都有经纪人作为代理。如果想请明星来办一场商业演出,只能联系他的经纪人。经纪人会把商业演出的细节和报酬都谈好之后,再把合同交给明星签。
用户8921923
2022/10/24
4000
Python写的几个有趣的小游戏
3.售价分别是3.5 4 2 4.5 写一个函数用来表示贩卖机的功能:4.用户投钱和选择饮料,并通过判断之后,给用户吐出饮料和找零。
清菡
2020/12/02
8390
R语言生态学:进化树推断物种分化历史:分类单元数与时间关系、支系图可视化
我们围绕进化树技术进行一些咨询,分析生物类群在时间上的多样性是如何变化的。我们将用到分类单元数-时间图(Lineages-through-time plot),该图可以用来描述物种多样化的总体趋势。
拓端
2023/01/30
7150
C++效率掌握之STL库:list函数全解
list作为一个类也有构造函数,析构函数,=运算符重载,我们重点介绍构造函数里的功能
DARLING Zero two
2025/02/20
1330
C++效率掌握之STL库:list函数全解
【愚公系列】2023年07月 .NET CORE工具案例-LoadTestToolbox轻量级压测工具
压测工具(也称为负载测试工具)是一种软件工具,可以模拟各种高负载情况,用于测试应用程序、网站或服务器的性能和稳定性。压力测试的目的是了解系统在负载增加的情况下是否能够正常工作,识别系统的性能瓶颈,并提高系统的可伸缩性和性能。
愚公搬代码
2025/05/28
1040
【愚公系列】2023年07月 .NET CORE工具案例-LoadTestToolbox轻量级压测工具
【说站】js代理模式是什么
2、代理模式最基本的形式是对访问进行控制,而本体对象则负责执行所分派的那个对象的函数或者类。
很酷的站长
2022/11/23
1.7K0
【说站】js代理模式是什么
后浪,用VR“入海”吧
(VRPinea 6月10日讯)夏天的风,我永远记得……当这首歌再次火遍网络时,P君似乎好像还没意识到:春天还没过明白呢,这就到夏天了?
VRPinea
2020/06/16
3810
杨建允:椰树直播带货是翻车还是一次成功的营销?2022营销应该怎么做?
近日椰树椰汁因为涉嫌触犯平台直播间规则而多次被中断直播,这个话题引发了全网的热议,多次冲上热搜。
西安王晓楠
2022/10/12
4770
杨建允:椰树直播带货是翻车还是一次成功的营销?2022营销应该怎么做?
单细胞助力分析靶向治疗药物性超敏反应综合征
今天介绍的文献于2020年1月20发表在natrure medicine 上,文章题目是:Targeted therapy guided by single-cell transcriptomic analysis in drug-induced hypersensitivity syndrome: a case report
生信技能树jimmy
2020/04/27
1K0
centos 6.5查看和设置时区及时间同步校准
[root@ltt1 ~]# cat /etc/sysconfig/clock 
似水的流年
2018/08/10
1.3K0
2023年科技、营销、个人应该往哪个方向前进?| InfoQ 合作伙伴年度盛典
在“不确定”中,我们度过了 2022 年。 好消息是,2023 年到来了。 坏消息是,未来一年乃至五年依旧充满着“不确定”。 我们需要做的则是从“不确定”中找到大致正确的前进方向。基于此,InfoQ 极客传媒合作伙伴年会将于 1 月 5 日 16:00 正式开启。本届年会以“微光成炬·破晓而出”为主题,共分为“Memory / 回溯”、“Manner / 瞻望”、“Moment / 灵感”三个环节,与大家一起探讨科技、营销以及个人未来一年可能的前进方向。 1 Memory / 回溯:科技热词背后的未来世界
深度学习与Python
2023/03/29
1650
2023年科技、营销、个人应该往哪个方向前进?| InfoQ 合作伙伴年度盛典
大数据和云计算技术周报(第120期)
本文作者为百度PaddlePaddle组技术布道师Charlotte77,内容全是实战经验的精炼总结,强烈推荐大家收藏
大数据和云计算技术
2019/09/17
4520
大数据和云计算技术周报(第120期)
Linux巩固记录(8) Hbase shell 基本使用
1.进入hbase shell: hbase有很多种操作方式,比如shell,java客户端,webUI等,可以直接输入hbase进行提示
肖哥哥
2018/08/02
7210
编写高质量代码的思考
最近在看《代码大全》,可以说是一本软件开发的百科全书,特别厚,但是干货也很多。平时写代码,代码规范是一个最低的要求(很多老代码连最低要求都达不到),为什么要这样规定代码要这么写,而不是那么写?这是一个值得深究的问题。而不是说我照着代码规范写代码就算完了,高质量的代码是一个专业工程师的追求。要知其然知其所以然,最近写发票解析的代码,因为涉及带解析PDF的算法,复杂度比较高,所以花了很多时间在重构,学以致用的时候积累了一些心得。
三哥
2018/07/31
4840
书写高质量代码之状态维护
状态之始 我们第一眼接触新事物所触发的思考方式,决定了以后我们看待这样事物的角度,进而影响更深层次的理解和行为。 编程相对于人类历史的进程而言,不过是个六七岁孩童偶然捡到的新玩具,因为新鲜好玩到现在都
用户1289394
2018/02/28
7100
书写高质量代码之状态维护
编写高质量代码的思考
前言 最近在看《代码大全》,可以说是一本软件开发的百科全书,特别厚,但是干货也很多。平时写代码,代码规范是一个最低的要求(很多老代码连最低要求都达不到),为什么要这样规定代码要这么写,而不是那么写?这是一个值得深究的问题。而不是说我照着代码规范写代码就算完了,高质量的代码是一个专业工程师的追求。要知其然知其所以然,最近写发票解析的代码,因为涉及带解析PDF的算法,复杂度比较高,所以花了很多时间在重构,学以致用的时候积累了一些心得。 信息隐藏原则 信息隐藏是面向对象设计的一个原则,是对封装和模块化的一个更高维
企鹅号小编
2018/01/30
7510
编写高质量代码的思考
编写高质量代码开篇
最近因为加入一个新的团队,才开始认真的关注关于编写高质量代码的话题,学习总结的同时,记录下这段让自己再一次认真学习的过程。 想成为架构师、项目经理、分析师、设计师等这些角色,首先你应该是程序员。很难想象一个没有编写过“Hello World”的架构师能够构思出什么样牛(qi)逼(pa)的,所以代码是前进的基石,So,高质量的代码更是不可或缺的。 “代码首先是给人看的,之后才是给机器运行的”这句话相信都听过或者说过,个人理解编写高质量代码的关键思想是代码应当易于理解,
JavaQ
2018/04/04
5780
产品思维之什么是好的设计?
和专业的设计课不同,我们主要着眼于如何让非专业设计人员也能做出七十到八十分的设计。
JavaEdge
2025/06/01
690
产品思维之什么是好的设计?
推荐阅读
相关推荐
JavaScript设计模式之代理模式
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验