当前位置:首页 > 科技  > 软件

五种编写"自然"代码的方法,让每个人都爱不释手

来源: 责编: 时间:2024-07-24 14:50:13 704观看
导读为什么我们使用JavaScript、Dart和Python等语言,而不是古老的汇编语言?这是因为它们与自然语言更接近。或者说,它们有可能更接近自然语言。因为有时我们编写代码只是为了让它能工作,而不关心向其他人展示我们在做什么。而

QA928资讯网——每日最新资讯28at.com

为什么我们使用JavaScript、Dart和Python等语言,而不是古老的汇编语言?QA928资讯网——每日最新资讯28at.com

这是因为它们与自然语言更接近。QA928资讯网——每日最新资讯28at.com

或者说,它们有可能更接近自然语言。QA928资讯网——每日最新资讯28at.com

因为有时我们编写代码只是为了让它能工作,而不关心向其他人展示我们在做什么。QA928资讯网——每日最新资讯28at.com

而这种做法往往会在日后造成痛苦的反噬。特别是当其中一个"其他人"是未来的自己时。QA928资讯网——每日最新资讯28at.com

1. 使用词性命名

当你的代码尽可能地像英语时,你就知道它是自然的。就像一个有趣、描述性的故事。QA928资讯网——每日最新资讯28at.com

这意味着你已经智能地创造了故事中的实体和动作,以强有力地表达从开始到完成的代码流程。QA928资讯网——每日最新资讯28at.com

名词

我们在谈论哪些实体?QA928资讯网——每日最新资讯28at.com

  • 变量
  • 属性(getter和setter)
  • 类和对象
  • 模块

每个角色都有一个名字,所以我们用表达力强的名词和名词短语来描述它们。QA928资讯网——每日最新资讯28at.com

不要这样:QA928资讯网——每日最新资讯28at.com

// ❌ do-examples.ts// ❌ 难以理解const f = 'Coding';const l = 'Beauty';// ❌ Verb// ❌ 动词const makeFullName = `${f} ${l}`;class Book {  // ❌ Adjectival phrase  // ❌ 形容词短语  createdAt: Date;}

而要这样:QA928资讯网——每日最新资讯28at.com

// ✅ examples.ts// ✅ 可读性高const firstName = 'Coding';const lastName = 'Beauty';// ✅ Noun// ✅ 名词const fullName = `${firstName} ${lastName}`;class Book {  // ✅ Noun phrase  // ✅ 名词短语  dateCreated: Date;}

动词

你的代码库中有哪些动作?QA928资讯网——每日最新资讯28at.com

  • 函数
  • 对象方法

动作意味着实体在做某事;命名它们的自然方式是使用描述性的动词动词短语QA928资讯网——每日最新资讯28at.com

不要这样:QA928资讯网——每日最新资讯28at.com

class Product {  constructor(name, price, quantity) {    this.name = name;    this.price = price;    this.quantity = quantity;  }  // ❌ Noun  // ❌ 名词  total() {    return this.price * this.quantity;  }}const product = new Product('Pineapple 
                

本文链接:http://www.28at.com/showinfo-26-103169-0.html五种编写"自然"代码的方法,让每个人都爱不释手

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: 解密列表的创建与销毁,以及缓存池长什么样子?

下一篇: C# 开发技巧:轻松监控方法执行耗时

标签:
  • 热门焦点
  • 服务存储设计模式:Cache-Aside模式

    Cache-Aside模式一种常用的缓存方式,通常是把数据从主存储加载到KV缓存中,加速后续的访问。在存在重复度的场景,Cache-Aside可以提升服务性能,降低底层存储的压力,缺点是缓存和底
  • 企业采用CRM系统的11个好处

    客户关系管理(CRM)软件可以为企业提供很多的好处,从客户保留到提高生产力。  CRM软件用于企业收集客户互动,以改善客户体验和满意度。  CRM软件市场规模如今超过580
  • 三万字盘点 Spring 九大核心基础功能

    大家好,我是三友~~今天来跟大家聊一聊Spring的9大核心基础功能。话不多说,先上目录:图片友情提示,本文过长,建议收藏,嘿嘿嘿!一、资源管理资源管理是Spring的一个核心的基础功能,不
  • 使用LLM插件从命令行访问Llama 2

    最近的一个大新闻是Meta AI推出了新的开源授权的大型语言模型Llama 2。这是一项非常重要的进展:Llama 2可免费用于研究和商业用途。(几小时前,swyy发现它已从LLaMA 2更名为Lla
  • 一文掌握 Golang 模糊测试(Fuzz Testing)

    模糊测试(Fuzz Testing)模糊测试(Fuzz Testing)是通过向目标系统提供非预期的输入并监视异常结果来发现软件漏洞的方法。可以用来发现应用程序、操作系统和网络协议等中的漏洞或
  • 重估百度丨“晚熟”的百度云,能等到春天吗?

    ©自象限原创作者|程心排版|王喻可2016年7月13日,百度云计算战略发布会在北京举行,宣告着百度智能云的正式启程。彼时的会场座无虚席,甚至排队排到了门外,在场的所有人几乎都
  • 华为Mate60系列模具曝光:采用硕大圆形后置相机模组+拼接配色方案

    据此前多方爆料,今年华为将开始恢复一年双旗舰战略,除上半年推出的P60系列外,往年下半年的Mate系列也将迎来更新,有望在9-10月份带来全新的华为Mate60
  • 自研Exynos回归!三星Galaxy S24系列将提供Exynos和骁龙双版本

    年初,全新的三星Galaxy S23系列发布,包含Galaxy S23、Galaxy S23+和Galaxy S23 Ultra三个版本,全系搭载超频版骁龙8 Gen 2,虽同样采用台积电4nm工艺制
  • OPPO K11评测:旗舰级IMX890加持 2000元档最强影像手机

    【Techweb评测】中端机型用户群体巨大,占了中国目前手机市场的大头,一直以来都是各手机品牌的“必争之地”,其中OPPO K系列机型一直以来都以高品质、
Top