还在纠结JS代码风格? Google给你你答案了!

Windows Copilot反代实战:搭建本地AI服务与OpenAI API兼容方案 反向代理技术作为现代网络架构的核心组件,通过中间服务器转发客户端请求实现服务透明访问。其原理是在客户端和目标服务间建立桥梁,完成协议转换和请求路由。在AI应用开发领域,这项技术价值显著,能够解决云端API依赖带来的网络延迟、成本控制和数据隐私等问题。Windows Copilot作为微软集成在操作系统层面的AI服务,通过反代技术可将其转换为兼容OpenAI API格式的本地端点。这种方案特别适用于开发调试、内部工具构建等需要低延迟、高可控性的应用场景。基于反向代理的Copilot本地化部署,为开发者提供了免 阅读详情

Google JavaScript 代码风格指南

Google 和 Airbnb 是目前最流行的 JavaScript 代码风格,如果你长期使用 JavaScript 来写代码的话,建议对比看看。

以下是我认为在 Google 代码风格指南中最有意思的十三条规则,和大家分享一下:

使用空格,而不是 tab

除了行终止符外,在系统文件中,空格是唯一表示空白的字符,这意味着 tab 不能作为缩进使用。

这份指南规定用2个空格(而不是4个)来表示缩进。

// badfunction foo() {
∙∙∙∙let name;
}// badfunction bar() {
∙let name;
}// goodfunction baz() {
∙∙let name;
}复制代码

必不可少的分号

每个语句都必须以分号结尾,不要依赖编译器自动插入分号。

尽管我无法理解为什么有人会反对加分号,就像“tab 和 空格”争论一样。无论怎么样 Google 是站在加分号这边的。

// badlet luke = {}let leia = {}
[luke, leia].forEach(jedi => jedi.father = 'vader')// goodlet luke = {};let leia = {};
[luke, leia].forEach((jedi) => {
  jedi.father = 'vader';
});复制代码

暂时不要用 ES6 模块化

暂时不要用 ES6 模块化(比如 import 和 export 关键字),因为 ES6 模块化的语法还没最终确定。

// Don't do this kind of thing yet://------ lib.js ------export function square(x) {    return x * x;
}export function diag(x, y) {    return sqrt(square(x) + square(y));
}//------ main.js ------import { square, diag } from 'lib';复制代码

不鼓励上下对齐代码

尽量不要上下对齐代码,维护成本太高。

// bad{  tiny:   42,  
  longer: 435, 
};// good{  tiny: 42, 
  longer: 435,
};复制代码

不使用 var

声明局部变量用 const 或者 let,默认使用 const,除非变量需要重新赋值。

// badvar example = 42;// goodlet example = 42;复制代码

箭头函数完美替代 function

箭头函数不仅语法简洁易读,而且修复了 this 的问题,特别是在嵌套函数中。

// bad[1, 2, 3].map(function (x) {  const y = x + 1;  return x * y;
});// good[1, 2, 3].map((x) => {  const y = x + 1;  return x * y;
});复制代码

用模板字符串替代字符串拼接

用模板字符串(用 ` 分割)处理复杂的字符串,特别是处理多行的字符串。

// badfunction sayHi(name) {  return 'How are you, ' + name + '?';
}// badfunction sayHi(name) {  return ['How are you, ', name, '?'].join();
}// badfunction sayHi(name) {  return `How are you, ${ name }?`;
}// goodfunction sayHi(name) {  return `How are you, ${name}?`;
}复制代码

不要用反斜杠对长字符串换行

虽然 ES5 是允许这样做的,但是会带来诡异的错误,而且会对阅读代码的人带来误导

很有意思的是,Google 和 Airbnb 的规则大相径庭(这里是 Airbnb 的规则)

// bad (在移动端会出问题)const longString = 'This is a very long string that \
    far exceeds the 80 column limit. It unfortunately \
    contains long stretches of spaces due to how the \
    continued lines are indented.';// bad (Airbnb 推荐这种写法,不对长字符串做任何处理。)const longString = 'This is a very long string that far exceeds the 80 column limit. It does not contain long stretches of spaces since the concatenated strings are cleaner.';// goodconst longString = 'This is a very long string that ' + 
    'far exceeds the 80 column limit. It does not contain ' + 
    'long stretches of spaces since the concatenated ' +    'strings are cleaner.';复制代码

for 循环首选 “for… of”

在 ES6 中,支持多种 for 循环写法,可能你都用过,但尽可能选用 for… of 吧。

不要使用 eval()

不要使用 eval() (代码加载器除外),会带来潜在的不确定性,因为在 CSP 环境中无法工作。

在 MDN中也明确提到了,不用使用 eval()。

// badlet obj = { a: 20, b: 30 };let propName = getPropName();  // returns "a" or "b"eval( 'var result = obj.' + propName );// goodlet obj = { a: 20, b: 30 };let propName = getPropName();  // returns "a" or "b"let result = obj[ propName ];  //  obj[ "a" ] is the same as obj.a复制代码

常量用大写字母加下划线

常量用大写字母加下划线表示,所有单词大写,下划线分割。

如果你的代码遵守此规则,可大大增加代码的可阅读性,但需要注意的是,如果常量是函数,需要写成驼峰。

// badconst number = 5;// goodconst NUMBER = 5;复制代码

每次申明一个变量

每次申明一个变量,不要写成 let a = 1, b = 2;

// badlet a = 1, b = 2, c = 3;// goodlet a = 1;let b = 2;let c = 3;复制代码

用单引号,不要用双引号

普通的字符串用单引号分割(’),如果字符串中包含单引号,那么考虑用模板字符串。

// badlet directive = "No identification of self or mission."// badlet saying = 'Say it ain\u0027t so.';// goodlet directive = 'No identification of self or mission.';// goodlet saying = `Say it ain't so`;复制代码

感谢阅读!

本文翻译自 Daniel Simmons - 《13 Noteworthy Points from Google’s JavaScript Style Guide》

Cursor如何成为前端开发者的上下文感知协作者 AI编程助手正从简单代码补全迈向工程级协作,其核心在于对项目上下文的理解能力。传统工具依赖局部语法预测,而新一代AI编程环境如Cursor通过本地LLM、Git历史解析、AST语义分析与跨文件引用识别,实现对TypeScript类型系统、Next.js App Router规则、Zod校验逻辑等现代前端技术栈的深度适配。这种‘工程感知’能力显著降低语法陌生化、生态断层与上下文失焦带来的认知负荷,支撑真实场景下的API开发、遗留代码重构与Vercel部署调试。本文基于30天Next.js 14实战,详解Cur 阅读详情

相关推荐

Monorepo落地实战:从协作契约到CI/CD全链路设计

Monorepo并非简单的代码仓库合并,而是一种以提升跨项目协作效率为目标的工程范式。其核心原理在于通过统一工作区、智能任务调度与影响分析,将原本分散在多个仓库中的隐性协作成本(如依赖同步、版本不一致、环境配置重复)显性化并交由工具链自动化处理。技术价值体现在显著降低Bug修复耗时、加速新人上手、提升安全响应速度及优化CI资源利用率。典型应用场景包括多前端应用共享组件库、全栈项目共用TypeScript类型定义、微服务间复用认证逻辑等。本文基于真实团队实践,深入解析pnpm工作区协议、Turborepo增量

weixin_30580341的博客 380

Google JavaScript 代码风格指南

Google 和 Airbnb 是目前最流行的 JavaScript 代码风格,如果你长期使用 JavaScript 来写代码的话,建议对比看看。 以下是我认为在 Google 代码风格指南中最有意思的十三条规则,和大家分享一下: 使用空格,而不是 tab 除了行终止符外,在系统文件中,空格是唯一表示空白的字符,这意味着 tab 不能作为缩进使用。 这份指南规定用2个空格(而不是4个)来表示缩...

weixin_34116110的博客 423

ChatGPT与Codex深度整合:从代码生成到上下文感知的AI开发协作者

最近在折腾一个自动化脚本,想把一些零散的文档处理任务整合起来。我习惯性地打开了熟悉的对话界面,准备像往常一样,先描述需求,再等它生成代码,然后复制粘贴到编辑器里调试。但这次,我注意到一个不太一样的地方——代码生成的响应速度似乎快了一些,而且生成的代码片段里,直接引用了项目里已有的函数名和变量命名风格。这让我愣了一下,因为过去它虽然能写代码,但更像是一个“通用代码生成器”,而现在,它似乎更“懂”我当前在做什么了。 这种感觉,就像是你的副驾驶从一位需要你不断口头导航的乘客,变成了一个能看懂你车里导航地图、甚至能

340

Google JavaScript 风格指南

Google 和 Airbnb 是目前最流行的 JavaScript 代码风格,如果你长期使用 JavaScript 来写代码的话,建议对比看看。 在团队开发中,通常需要遵循一定的代码风格,这样有利于团队的协作和代码的可维护性。 而 JavaScript 的代码风格其实是有很多的,接下来我们来看看 Google 发布的 JavaScript 风格指南, 大致包含了以下部分内容: 文件名...

jiandan1127的博客 658

Qwen3.6-Plus实战指南:代码理解、128K上下文与中文技术语境深度解析

大语言模型在编程场景中的核心价值,不在于参数规模,而在于对代码语法结构、运行逻辑与业务语义的深层理解。Qwen3.6-Plus通过AST驱动的代码训练、中文技术社区问答微调及LongRoPE长上下文优化,显著提升代码意图识别、跨文件语义关联与错误传播链分析能力。其128K上下文实测支持完整项目级分析,结合母语级中文技术表达,可精准响应‘AttributeError’调试、‘mysql_*废弃函数迁移’等真实开发诉求。本文聚焦Qwen3.6-Plus在代码理解深度与中文技术语境适配两大关键维度的工程化落地,提

weixin_33853794的博客 718

Codex 实质是本地 AI 聚合平台,非 OpenAI 官方产品

AI 编程工具正从中心化服务向本地化、可组合的智能调度平台演进。这类工具的核心原理并非运行大模型,而是通过协议转换、API 路由与 Prompt 工程封装,将不同后端(如 DeepSeek、Qwen、Ollama)统一接入前端交互层。其技术价值在于离线可用性、国产模型友好度及工程可控性,适用于企业内网开发、代码审查自动化、私有知识库构建等强安全与低延迟场景。本文聚焦 Codex 这一典型代表,解析其作为本地 AI 聚合平台的本质定位与落地实践。

weixin_30463341的博客 496

Google C++ Style Guide 谷歌 C++编码风格指南

代码规范

weixin_42944928的博客 2822

Kimi K3深度体验:99元解锁AI编程助手,重构开发工作流

在软件工程领域,人工智能正从辅助工具演变为核心生产力引擎。其原理基于大语言模型对代码语义和开发逻辑的深度理解,能够将自然语言指令转化为可执行代码。这一技术的核心价值在于将开发者从繁琐的重复劳动中解放出来,显著提升开发效率与代码质量。其典型应用场景包括快速生成项目脚手架、优化复杂算法与SQL查询、以及深度解读遗留代码库。本文聚焦于热门AI编程助手Kimi K3的实战应用,通过解析**代码审查**与**SQL查询优化**等具体场景,展现了其如何作为“逻辑伙伴”深度融入开发全流程,帮助开发者应对从原型搭建到性能调

weixin_33946605的博客 447

Google开源项目风格指南——Java

本文档是Google Java™ 编程语言源代码编码标准的完整定义。当且仅当Java 源文件遵守此处的规则时,才将其描述为Google 风格。

写代码的渣渣苏 4540

Google 开源项目风格指南.pdf(C++,2017版)

Google 开源项目风格指南中文版pdf 里面规定了google的C++开源项目的代码规范,是提高代码易读性和健壮性的重要参考资料。

数据中心——Vxlan基本概念1

东西流量指的就是横向流量-------例如:服务器与服务器之间交换流量南北流量指的就是纵向流量-------例如:客户端和服务器之间的流量以下主要是讲解业务平面的网络架构(一般业务平面就需要用到专用的数据中心交换机)

m0_49864110的博客 1万+

【代码规范】Google开源项目风格指南

系列综述:💞目的:本系列是个人整理为了秋招面试的,整理期间苛求每个知识点,平衡理解简易度与深入程度。🥰来源:材料主要源于进行的,每个知识点的修正和深入主要参考各平台大佬的文章,其中也可能含有少量的个人实验自证。🤭结语:如果有帮到你的地方,就和!!🌈。

qq_43840665的博客 1254

Cadence Allegro新手避坑:从原理图到PCB,解决‘netrev.lst does not exist’的完整流程

本文详细介绍了Cadence Allegro从原理图设计到PCB导入网表的完整流程,特别针对新手常见的'netrev.lst does not exist'错误提供了系统解决方案。内容包括环境准备、原理图设计规范、网表生成与导入技巧,以及设计数据管理最佳实践,帮助工程师高效完成PCB设计任务。

weixin_42685438的博客 489

LangGraph智能体开发实战:Python与TypeScript/Node.js选型指南

智能体(Agent)作为能感知环境、自主决策并执行任务的程序,其核心原理在于将大语言模型(LLM)作为“大脑”,通过框架整合工具与环境交互,实现复杂任务的自动化。这一技术价值在于将传统固定流程的程序升级为具备“思考”和“行动”能力的智能系统,显著提升了处理模糊指令和多步骤任务的效率。其应用场景广泛覆盖了智能问答、数据分析、自动化流程等众多领域。本文聚焦于LangChain和LangGraph这两个核心框架,深入探讨如何利用它们构建高效、可靠的智能体工作流。针对开发实践中的关键决策,文章详细对比了Python

weixin_33701294的博客 433

医疗信创国产化替代目前面临哪些难题?如何利用国产虚拟化技术促进医院信创建设

业务系统众多,存在大量信创改造模糊地带,既有老系统,也有新系统,故障点多,管理难度高,IT人力资源不足,其对硬件的支撑能力也提出了越来越高的要求,由此造成硬件成本、管理成本以及能耗成本都非常高。

云宏winhong的博客 2662

案例分析|一篇文章带你看懂养鸡场智慧管理系统

养鸡场智慧管理系统是为了满足现代化养鸡业对精细化管理的需求而设计的一款专业软件。随着科技的发展和农业产业的升级,传统的手工记录和管理方式已无法满足高效、准确和实时的数据跟踪需求。本软件旨在通过集成各种功能模块,帮助养鸡场主实现从鸡苗孵化、饲养管理、饲料控制到销售结算等全链条的智能化操作。该系统的核心目标是提升养鸡场的运营效率和盈利能力,通过自动化数据处理,减少人工误差,节省时间和精力。例如,孵化报表和记录模块可以帮助管理者实时监控孵化过程,及时调整策略;

muyu2980的专栏 930

编程语言选择指南:从场景需求到学习路径的理性决策

编程语言作为软件开发的基石,其本质是解决特定问题的工具。从底层原理来看,不同语言的设计哲学源于对特定时代技术痛点的回应:C语言提供了贴近硬件的高级抽象,Java通过虚拟机实现跨平台部署,Python以简洁语法降低编程门槛,Go内置并发模型应对云计算需求。这些设计差异决定了各自的技术价值:Python在数据科学和快速原型开发中占据优势,Go擅长构建高并发后端服务,Java则以其稳定生态支撑企业级应用。在实际应用场景中,选择编程语言应遵循四步决策框架:首先明确开发目标与场景,其次评估语言生态系统与就业市场,接着

weixin_30457465的博客 439

别再死记硬背了!用51单片机的AD/DA和PWM,亲手做个简易示波器信号发生器

本文详细介绍了如何利用51单片机的PWM和AD/DA功能制作简易示波器信号发生器。通过PWM模拟DAC输出波形,结合XPT2046 ADC进行信号测量,实现方波、三角波和正弦波的生成与显示。项目不仅成本低廉,还能帮助电子爱好者深入理解51单片机的核心功能,是理论与实践结合的绝佳案例。

weixin_28675839的博客 265

AI Coding 零基础实战教程 (1)环境准备与工具安装

三天后,一个功能完整、界面美观的Web应用上线了。这不是科幻,这是2026年正在发生的事情。传统的编程学习路径是这样的:花几个月学语法 → 花几个月做练习 → 花几个月做项目 → 终于能写出可用的软件。你只需要学会"如何清晰地表达你想要什么",AI来负责把它变成代码。这就像你不需要学会砌墙、接水管、布电路,你只需要能清楚地告诉装修队"我想要一个什么样的家",专业的团队会帮你实现。AI编程工具就是你的"装修队",而你要学的,是如何当好这个"业主"。你平时用电脑,是通过鼠标点击图标、菜单来操作的,这叫。

每天都要努力学习哦~~ 369

达梦数据库集群部署(主备)

达梦数据库集群部署(主备)

m0_71845127的博客 1462

LSTM 双向 Bi-LSTM

LSTM 双向 Bi-LSTM

jacke121的专栏 1519

通义灵码深度集成指南:从网页版到企业级AI编程工作流

AI编程助手正从代码补全工具演进为理解上下文、融合知识、编排开发流程的智能体。其核心原理在于三层协同:基于AST的代码感知引擎实现强类型精准补全,企业知识中枢支持私有API与规范注入,开发行为编排器打通IDE、Git与CI/CD。技术价值体现在将隐性经验显性化、机械劳动自动化、质量管控左移。典型应用场景包括Spring Boot项目中的上下文感知生成、Git提交自动合规、单元测试一键覆盖,以及金融/医疗等强监管领域本地化部署。本文聚焦通义灵码官网集成路径与VS Code深度调优实践,解决私有依赖解析、风格强

weixin_30732487的博客 1282

【ESP32设备通信】-两个ESP32间UART通信

在本文中,我们将使用 Arduino IDE 的 UART 硬件库在两个 ESP32 板之间执行 UART 或串行通信。 要使用 USB 端口调试和编程 ESP32,需要使用称为通用异步接收器/发送器 (UART) 通信的串行端口。 对于大多数传感器和系统,主要的通信方法被认为是 UART。 为了共享工作负载、信息和执行不同的任务,有时需要在两个 ESP32 开发板之间进行通信。

视觉与物联智能 2997

GPT-5.6在开发工作流中的工程实践与优化策略

代码生成技术作为人工智能在软件开发领域的重要应用,通过理解编程语言的语法结构和上下文逻辑,能够自动生成符合需求的代码片段。其核心原理基于大规模预训练语言模型,通过分析海量代码库学习编程模式。这项技术的价值在于显著提升开发效率,将开发者从重复性编码任务中解放,专注于架构设计和业务逻辑创新。在实际应用场景中,代码生成特别适用于快速原型开发、代码重构、跨语言转换和自动化测试等环节。以GPT-5.6为代表的先进模型,通过改进的上下文理解能力和提示词工程优化,在开发工作流整合方面展现出强大潜力。热词分析显示,开发团队

weixin_34216107的博客 413

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

前端工程师能力评估:从基础到架构的四维模型与实践指南

在技术团队建设中,如何客观衡量前端工程师的真实水平?这需要一套系统化的能力评估框架。从JavaScript/TypeScript语言深度、框架原理理解,到工程化落地、架构设计思维,再到业务交付影响力,每一个维度都对应着不同的考察要点与面试提问策略。通过行为举证、真实场景演练与项目深度追问,能够有效区分“会用”与“理解”,为招聘选拔、晋升评审和团队技能盘点提供清晰可靠的依据。同时,性能优化、状态管理、微前端等高频技术点也贯穿于评估之中,帮助面试官精准定位候选人的能力层级。本文结合Vue/React核心机制与工

weixin_34110970的博客 329

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

AI编程模型深度横评:Claude、GPT-4o、DeepSeek Coder实战对比与选型指南

AI辅助编程已成为提升开发效率的关键技术,其核心原理是基于大规模代码语料训练,通过自然语言理解将开发者意图转化为可执行代码。这项技术的价值在于能显著降低重复性编码负担,让开发者更专注于架构设计与核心逻辑。在实际应用场景中,从快速生成工具函数、辅助算法解题,到构建复杂的前端组件或设计后端系统,AI编码模型都能提供有力支持。本次评测聚焦于当前主流的六大模型,包括以深度理解和系统设计见长的Claude 3.5 Sonnet、全能稳健的GPT-4o,以及专精代码、生成速度极快的DeepSeek Coder。通过覆盖

weixin_34008805的博客 404

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

上一篇: 嘿, 你知道吗, 再也不需要for循环了!
下一篇: 也许,这样理解HTTPS更容易(今天看到的, 对https总结最好的一篇)
xosg
xosg 领域专家: 网络协议与安全技术领域 领域专家: 网络协议与安全技术领域
博客等级 码龄9年 1986粉丝 864原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值