世纪大战:Tab VS Space

Tab键窄化补全:提升编程效率的核心交互技巧详解 代码补全是现代编程环境中的基础功能,它通过分析上下文和前缀匹配,为开发者提供输入建议,其核心原理是增量过滤与智能排序。这项技术能显著减少重复输入和记忆负担,提升编码流畅度与准确性,在软件开发、系统运维和数据处理等场景中广泛应用。具体到“Tab to narrow completions”这一交互模式,它利用Tab键在补全列表中进行迭代筛选,实现快速精准的目标定位。例如在VS Code、Zsh等工具中,通过配置编辑器设置或Shell插件,开发者可以结合热词“增量过滤”和“上下文感知”机制,将模糊的输入意图逐步 阅读详情

用 Tab 还是 Space?事关程序员的信仰之争。2015 年程序员 Uku Pattak 分析了 GitHub 上多种语言的热门项目(star 数量高)中使用 Tab 和空格的对比情况。2016 年,谷歌程序员 Felipe Hoffa 分析了 10 亿份代码。

  分析结果可先看下图:

  

  40万个repo, 10亿份代码文件, 14TB 代码

  规则:

  数据来源:已存储在 BigQuery 上的 GIthub 文档

  Star 很重要:只选择了2016年1月到5月之间加星量(star)在前 40 万个的项目

  排除小文件:代码文件至少得有 10 行代码,开始的字符是:空格或者制表符

  去除冗余:不管它们存在于多少个项目中,相同的程序文件只算一次

  一个文件一票:有些代码文件中混用了制表符和空格。如果该文件制表符用的多,那它就算制表符一票。反之亦然。

  C 语言

  分析了 371 个热门项目,结果:

  • 32.08% 用 Tab

  • 35.31% 用 4 个空格

  • 26.15% 用 2 个

  • 4.31% 用 3 个

  • 2.16% 用 8 个

  C++

  分析了 248 个热门项目,结果:

  • 20.56% 用 Tab

  • 39.11% 用 4 个空格

  • 38.71% 用 2 个

  • 1.61% 用 3 个

  CSS

  分析了 357 个热门项目,结果:

  • 19.89% 用 Tab

  • 71.71% 用 2 个空格

  • 8.4% 用 4 个空格

  Go

  分析了 238 个项目,结果:

  • 98.32% 用 Tab

  • 0.84% 用 2 个空格

  • 0.84% 用 4 个

  Groovy

  分析了 110 个项目,结果:

  • 8.18% 用 Tab

  • 17.27% 用 2 个空格

  • 74.55% 用 4 个

  Haskell

  分析了 308 个项目,结果:

  • 1.62% 用 Tab

  • 61.69% 用 2 个空格

  • 36.69% 用 4 个

  Java

  分析了 293 个项目,结果:

  • 11.6% 用 Tab

  • 23.21% 用 2 个空格

  • 65.19% 用 4 个

  Java

  分析了 317 个项目,结果:

  • 13.25% 用 Tab

  • 59.94% 用 2 个空格

  • 26.81% 用 4 个

  PHP

  分析了 408 个项目,结果:

  • 28.68% 用 Tab

  • 6.12% 用 2 个空格

  • 65.2% 用 4 个

  Ruby

  分析了 489 个项目,结果:

  • 0% 用 Tab

  • 100% 用 2 个空格

  • 0% 用 4 个

  Scala

  分析了 220 个项目,结果:

  • 0% 用 Tab

  • 98.64% 用 2 个空格

  • 1.36% 用 4 个

  Shell

  分析了 288 个项目,结果:

  • 21.88% 用 Tab

  • 48.26% 用 2 个空格

  • 28.82% 用 4 个

  • 0.35% 用 3 个

  • 0.69% 用 8 个

  Swift

  分析了 88 个项目,结果:

  • 5.68% 用 Tab

  • 11.36% 用 2 个空格

  • 82.95% 用 4 个

  Python

  分析了 234 个项目,结果:

  • 2.99% 用 Tab

  • 5.13% 用 2 个空格

  • 91.88% 用 4 个

      (难道我是异类,我其他语言都喜欢用空格,只有Python喜欢用tab)

  我们统计一下VerilogHDL,VHDL你用Tab还是用空格键?

杭电计算机组成原理课程设计-实验七-寄存器堆设计实验 寄存器堆实验实验原理实验内容模块功能说明模块逻辑引脚图寄存器堆模块代码REG模块测试用例REG-ALU测试用例实验结果记录 寄存器堆实验结果及分析ALU_REG运算器模块实验结果及分析探索与思考 实验原理   32×32位的寄存器堆模块示意图如图所示,含有32个寄存器,每个寄存器32位。该寄存器堆具有A和B两个读端口,分别由 5 位的寄存器编号 R_Addr_A 和 R_Addr_B 来寻址 2 个寄存器,读出的数据则由 R_Data_A(32 位)和R_Data_B(32 位)输出。读访问时,没有使能或者 阅读详情

相关推荐

PINN内嵌物理知识神经网络入门及文献总结

内嵌物理知识深度学习方法(PINN)已经成功用于解决各类科学计算问题,其本质是将物理先验知识嵌入神经网络训练中,将一个求解PDE的问题转化为一个优化问题。这篇博客主要记录PINN相关论文

山里娃的博客 7万+

c语言缩进用tab还是空格,代码缩进用 tab 好还是 space 好?

我的观点关于代码缩进,先说下我的偏好,我喜欢 tab,原因有以下两点:风格灵活多变。缩进距离可依个人喜爱随意更改,你用 2 格缩进也好,4 格也罢,甚至是 8 格也行。这都仅会影响使用者自己的编辑器显示效果,而不会影响到其他人的显示效果。占用空间小。无论缩进展示的有多宽或者多窄,一个 tab 缩进始终只占用一个字符的大小。大家的观点现在大家普遍都喜欢用 space 缩进,因为觉得这样缩进距离是可控...

weixin_42099815的博客 1885

LwIP在国产MCU的落地实践:从协议栈优化到网络稳定性实战

本文详细介绍了LwIP协议栈在国产GD32F407 MCU上的移植与优化实践,涵盖硬件平台选择、驱动适配、协议栈调优和网络稳定性提升策略。通过内存管理优化、实时操作系统集成和性能测试,为工业物联网应用提供高可靠性网络通信解决方案,显著提升数据传输效率和系统稳定性。

m2n3b4v5c6的博客 268

用Tab键的程序员为什么瞧不起用Space键的?

对程序员来说,熬得秃顶也无法解决的四大难题是:1.世界上最好的语言是什么?2.世界上最好的编辑器是什么?3.用Tab好还是Space好?4.到底要不要写分号? 黑市的程序员天哥,把全公司女同事都加为了微信好友,开化如他,也难逃此劫。 来自“东方鲁尔”的他,深受严谨工业精神的熏陶,是Tab键的忠诚卫士,只要手底下的实习生敲响了Space键,天哥就会条件反射,嗷地一声转过头,去...

HUYA69的博客 608

从MC到DC:三维重建算法的核心原理与实战对比

本文深入对比了三维重建领域两大经典算法Marching Cubes(MC)与Dual Contouring(DC)的核心原理与实战表现。MC算法原理直观、实现简单,但存在特征丢失和二义性问题;DC算法通过求解二次误差函数(QEF)和利用法向量信息,能更好地保留模型的尖锐特征,但计算更复杂。文章结合医学影像处理实例,为开发者根据速度、精度和特征保真度需求选择合适算法提供了清晰指南。

weixin_29251131的博客 1031

LCD驱动芯片——BL55072A驱动程序

初始化子程序: START 0x7C; I2C子地址 0xEA;ICSET,软件复位芯片 0xC0;MODSET,关显示 0xF0;BLKCTL,关闪烁 0xA3;DISCTL,80Hz Line inversion,High Power mode 0xE8;ICSET,清复位bit1 STOP 显示刷新子程序: START 0x7C;I2C子地址 0xF0;BLKCTL,关闪烁 0xA3;DISCTL,80Hz Line inversion,High Power mode 0xE8或0xEC;ICSE

love421的博客 3175

Tab Space:一键开启浏览器网页,轻松应对工作!

浏览器常年开着 N 多标签页,但只要浏览器垮掉或者机器重启后,标签页都会从新打开,真的很费时间,Tab Space这款Safari插件,可以实时保存已经打开的标签页记录,当你重启 Safari 或者新开窗口时可以一键启动(恢复)这些标签页,不限数量,真的很猛,而且支持 iCloud 同步。 实时保存的标签页点击绿色按钮「恢复」即可一键重新打开,这款插件具备数据导入/导出功能;还可以把保存的标签页导出为文本,Markdown 或 HTML。注意需要Safari 12.1及更高版本才能正常使用。 当你利用Ta

m0_51932933的博客 164

鸿蒙OpenHarmony技术:【Docker编译环境】

OpenHarmony为开发者提供了两种Docker环境,以帮助开发者快速完成复杂的开发环境准备工作。独立Docker环境:适用于直接基于Ubuntu、Windows操作系统平台进行版本编译的场景。基于HPM的Docker环境:适用于使用HPM工具进行发行版编译的场景。点击或者复制转到。表1Docker镜像介绍系统类型运行平台Docker镜像仓库标签标准系统(独立Docker环境)3.2小型系统(独立Docker环境)3.2轻量系统(独立Docker环境)3.2。

m0_62167422的博客 1444

003期 TAB OR SPACE?

TAB OR SPACE?

weixin_49664622的博客 272

为什么我把「大模型Clouder认证:基于百炼平台构建智能体应用」作为大模型学习的第一站?从 0 到拿证全流程经验分享

【摘要】作为一个刚拿下「大模型 Clouder 认证:基于百炼平台构建智能体应用」的过来人,想在开头就和大家聊聊这个认证的特殊意义 —— 在企业加速 AI 落地的今天,能用低代码快速构建智能体应用,已经成为 AI 从业者的核心竞争力。无论是企业微信客服提效、钉钉机器人自动化办公,还是网站智能助手升级,这些场景化能力正是当下数字化转型的刚需。

davidkorhenn的博客 1525

基于Simulink的四足机器人楼梯攀爬仿真模型

构建一个基于Simulink的四足机器人楼梯攀爬仿真模型,旨在模拟四足机器人在面对楼梯等障碍时的运动控制和稳定性调整。以下是一个详细的步骤指南,帮助你从零开始创建这样一个仿真模型。

xiaoheshang_123的博客 247

[Tip] TAB - SPACE

在很多大公司的编码规范中一般建议不使用TAB符,全部用四个SPACE(空格)代替,另外由于有些代码并不是自己编写,难免存在TAB符,所以需要进行替换。- source insight中显示TAB符: Options->Document Options 将 Visible tabs 打勾- source insight中将输入的TAB符转换为空格:  1. Options->

周睿的博客(blog) 1901

使用libVLC进行视频截图的C/C++实现

通过这些代码,你可以在C/C++应用程序中实现视频截图功能,并将视频帧保存为图像文件。请注意,本文只提供了基本的示例代码,你可以根据自己的需求进行扩展和修改。libVLC是一个强大的开源多媒体框架,可以用于在C/C++应用程序中处理和播放音频和视频文件。我们将展示如何初始化libVLC,打开视频文件,捕获视频帧并保存为图像文件。在开始编写代码之前,你需要包含libVLC的头文件,并链接相应的库文件。在链接阶段,你需要添加libVLC库的链接选项。在使用libVLC之前,你需要初始化libVLC的实例。

学习使你进步。 470

91.91p13.space .php,世纪大战:Tab VS Space

原标题:世纪大战:Tab VS Space缩进时使用空格键还是Tab键,这是一个严重的问题。点击视频,欣赏《硅谷》第三季,因此男女朋友,两人撕逼、分手。用 Tab 还是 Space?事关程序员的信仰之争。2015 年程序员 Uku Pattak 分析了 GitHub 上多种语言的热门项目(star 数量高)中使用 Tab 和空格的对比情况。2016 年,谷歌程序员 Felipe Hoffa...

weixin_39941262的博客 934

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

VS code tab space

howlowl 894

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

告别Tab宽度适配难题:FlycoTabLayout的tl_tab_space_equal属性让布局更智能

你是否还在为Android应用中Tab栏的宽度适配问题头疼?不同长度的标题导致Tab宽度参差不齐,或者在不同屏幕尺寸下布局错乱?本文将详细解析FlycoTabLayout库中**tl_tab_space_equal**属性的用法,通过简单配置即可实现Tab宽度的智能控制,让你的应用界面更加专业美观。读完本文,你将掌握两种Tab布局模式的切换方法,解决常见的宽度适配痛点,并学会在实际项目中灵活应用。...

gitblog_00787的博客 1031

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

Visual Studio 将Tab转换成Space

1、进入Tools->Options: 2、设置Tabs为Space,并在Size中指定一个Tab按键的空格数目(默认为4),可以设置All Languages或者仅仅设置指定的语言(本文为C/C++): 3、显示Space 或者Tab:ctrl+shift+*快捷键,或者Edit->Advanced->View White Space:

忘忧草 3432

vs2010 中的tab和space转换

编程过程中,常用tab键在代码中键入缩进,但是不同编辑器对一个tab对应的空格(space)数设置可能不同,例如4或8。 为了在不同的编辑器中保持代码的缩进一致,应将所用编辑器中一个tab键对应的空格数设置为相同的数值, 通常设置为4较为合适。       在VS2010中,连续按CTRL+R和CTRL+W键可显示出键入的tab和空格,空格以小圆点表示,tab键用向右的箭头显示。 1.

guochunlei1234的专栏 1665

漫议代码风格中的tab和space

今天到了新公司, 看来一下公司的编程规范, 里面有一条建议: 尽量使用tab做缩进. 然而, 对于TAB和space,我个人还是比较推荐使用space来替换tab的虽然可能是原公司要求使用space代替tab吧, 有点先入为主的成分, 但由于不同系统, 不同编辑器,归根结底是不同的字体对于tab和space的宽度表达都是不一样的, 等比或等宽字体又不一样, tab所对应的空格数也可能不同... 所

jaconey的专栏 857

vs2012设置tab为4个space的方式

vs2012中设置tab为4个字节的方法: wei

luciaSY的专栏 1498

XAML中的空格、换行、Tab

由于XAML是一种XML,在里面写段文字都经常会遇到问题。 * 空格 关于XAML中是如何处理空格的,MSDN上给出了详细的描述:http://msdn.microsoft.com/en-us/library/cc189036%28v=VS.95%29.aspx#whitespace 摘重要的简单说一下: 空格、回车、制表符都被当做空格。 连续的空格会被合并为一个空格。 <tag>后...

weixin_33688840的博客 2329

vs2012 tab改成space

option--text editor--c/c++--tabs 这样可以兼容所有编辑器,tab在不同编辑器下,宽度可能不一样

xiuzhentianting的博客 665

Linux -- VS Code显示空格及Tab

VS Code显示空格及Tab 有时为了方便观察代码对齐,以及防止多打印不必要的空格或者Tab,可以将VS Code中进行设定显示方便查看。 方法:   Settings -> 搜索render Control Characters -> 勾选后即可显示Tab,   Settings -> 搜索render WhiteSpace -> 将设置为all,即可将所有控制字符设置为空格显示。 ...

qq_45804423的博客 2374

sublime 关闭tab检测

sublime 关闭tab检测

ninebiscuit的博客 1256

Visual Studio /VS会自动提示,但不会默认选中,需要手动选中或者摁Tab

Visual Studio /VS会自动提示,但不会默认选中,需要手动选中或者摁Tab 解决办法:Ctrl+Alt+Space(空格)

KuangPu_001的博客 4942

vs code使用TsLint,错误为:space indentation expected

在项目找到tslint.json文件加上这个配置就好了 原因是TsLint代码缩进不允许使用Tab,要打空格 “indent”: [ true, “tabs”, 4 ],

Ybbb的博客 3056
上一篇: O2O供应链系统架构设计
下一篇: 电子现金联机的几种情况
Footloose_
博客等级 码龄10年 254粉丝 11原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值