在编程中,有两个极具挑战性的任务:缓存失效和命名事物。今天,我们将深入探讨后者,探索为Vue组件命名props的艺术。 在给 props 命名时,遵循已有的变量命名惯例是非常重要的。...例如,使用小驼峰命名法(isEnabled)并保持名称简短(不超过30个字符)。 然而,Vue有自己的一套最佳实践,我们应该遵循。让我们根据我在使用Vue的经验谈谈一些技巧。...1.内容感知命名 重要的是最大限度地利用变量名传达信息,以减少混淆并使组件的浏览更加容易。 对于数组,选择使用复数名词作为变量名,例如 items 。这个选择立即表明该变量代表一组相关元素的集合。...使用前缀如 hasCancelButton 或 hasHeader 来表示特定的UI元素是否存在或可见。 2. 描述性命名 Props 应该描述组件本身,侧重于它的功能而不是为什么要这样做。...按照这些准则,我们可以为Vue应用程序建立一致且有意义的 prop 命名约定。周到的 prop 名称有助于提高代码的可读性和可维护性,使你和团队更容易有效地合作。
BEM即块(Block)、元素(Element)、修饰符(modifier),是由著名的俄罗斯搜索引擎团队Yandex提出的一种前端命名方法论。...BEM命名约定更加严格,而且包含更多的信息,一般用于团队开发一个耗时的大项目中。...我们常见的BEM命名方式一般都是经过改良的,本文介绍的是Nicolas Gallagher(Twitter前端工程师)的改进版。...命名约定的格式如下: .block{ ... } /* 代表更高级别的抽象或组件 */ .block__element{ ... } /* 代表.block的后代,用于形成一个完整的block整体 */...hand是在表示指针(英文hand有钟表指针的含义)还是一只正在玩指纸牌的手呢?使用BEM我们可以获得更多的描述和更加清晰的结构,并且通过命名我们就可以知道元素之间的关联。代码如下: <!
Swift代码中的嵌套命名法 Swift支持与其他类型嵌套命名,尽管它还没有专用的命名关键词。下面我们来看看,如何使用类型嵌套来优化我们代码的结构。...大多数Swift开发者习惯于用类型在结构上的实际名字累命名。例如:PostTextFormatterOption(一个Text Formatter类型的用于format Posts的Option)。...这可能是因为我们在Objective-C & C中,养成的别无选择的可怕命名习惯,被我们带到了Swift里。...我比较喜欢把父类型的内容放在上面————同时还可以享受嵌套类型的便利。 事实上,在Swift中还有好几种其他方法可以实现命名、嵌套类型。...使用extension实现嵌套类型 另一个实现嵌套类型的选择就是extension。这种方法可以在实现和调用时保持层级关系,同时清楚明白的分开每种类型。
前言: 最近团队要考虑代码风格统一 1 什么是 BEM 命名规范 Bem 是块(block)、元素(element)、修饰符(modifier)的简写,由 Yandex 团队提出的一种前端 CSS 命名方法论...__ 双下划线:双下划线用来连接块和块的子元素 _ 单下划线:单下划线用来描述一个块或者块的子元素的一种状态 BEM 是一个简单又非常有用的命名约定。...1.1 BEM 命名模式 BEM 命名约定的模式是: .block {} .block__element {} .block--modifier {} 每一个块(block)名应该有一个命名空间(...2 如何使用 BEM 命名法 2.1 什么时候应该用 BEM 格式 使用 BEM 的诀窍是,你要知道什么时候哪些东西是应该写成 BEM 格式的。 并不是每个地方都应该使用 BEM 命名方式。...2.4 避免 .block__el1__el2 的格式 在深层次嵌套的 DOM 结构下,应避免过长的样式名称定义。
命名空间的嵌套和别名命名空间可以嵌套定义,这意味着一个命名空间可以包含另一个命名空间。使用嵌套命名空间时,我们可以使用反斜杠“\”来表示命名空间的层级结构。...下面是一个命名空间嵌套的示例:namespace MyNamespace\SubNamespace;class MyClass{ // class code here}上面的代码定义了一个"MyNamespace...命名空间的注意事项在使用命名空间时,需要注意以下几点:命名空间的名称必须遵循PHP的变量命名规则,只能包含字母、数字和下划线,且必须以字母或下划线开头。...命名空间可以使用多层级结构,每个层级之间使用反斜杠“\”分隔。命名空间中的类、函数、常量等元素可以通过完整的命名空间名称或使用use语句定义的别名来访问。...命名空间的定义必须在文件的最前面,除非是使用条件语句来定义命名空间。命名空间可以在一个文件中定义多次,但是每次定义必须使用不同的名称。
了解CSS命名约定 在本节中,我们将讨论CSS命名约定的概念、应用的优势以及它在推动清洁高效代码方面的作用。 什么是CSS命名约定?...类名还应具有连贯性,连接兄弟元素或显示父子元素之间的关系。 避免过度嵌套:在为类分配名称时,命名模式应保持浅层,并且选择器不应过度嵌套。这样可以提高可读性并使代码更易于维护。...相关的样式:与相关元素相关的样式块应放置在样式表中。 简洁的CSS选择器:CSS选择器不应过长或过于嵌套,也不应使用复杂的后代选择器。 适当的选择器命名:选择器应该具体命名为其应用的元素。...BEM(块、元素、修饰符):BEM是一种流行的CSS命名约定,由俄罗斯科技公司Yandex开发,旨在提供一种模块化的CSS样式方法,提供代码可重用性,并使大规模CSS的维护成为可能。...标准化命名和前缀:采用统一的命名约定(例如,BEM的块名称或原子CSS类)应该在整个项目中标准化,并保持一致性。
BEM BEM 是一种非常有用、强大且简单的命名约定,可以说是一个CSS命名规范,也可以说是一种思想。它使前端代码更易于阅读和理解、更易于使用、更易于扩展、更健壮和明确,并且更加严格。...这种巧妙的命名方法让你的CSS类对其他开发者来说更加透明而且更有意义。BEM命名约定更加严格,而且包含更多的信息,它们用于一个团队开发一个耗时的大项目。...我们可以简单看一下这个命名约定: .block{} /* 代表了更高级别的抽象或组件 */ .block__element{} /* 代表.block的后代,用于形成一个完整的.block的整体 */...「优点:」 BEM 的优点在于所产生的 CSS 类名都只使用一个类别选择器,可以避免传统做法中由于多个类别选择器嵌套带来的复杂的属性级联问题。...其次也解决了 CSS 嵌套过深的问题,正是因为全局命名冲突的问题,我们不得已就要为 class 加上一些独立的命名空间,书写时也会多层嵌套。
什么是 BEM 命名规范 BEM 由 Yandex 团队提出的一种前端 CSS 命名方法论。...使用了 BEM 命名方法的示例: 嵌套关系都以从命名的方式来代替。...这有悖BEM命名规范,BEM的命名中只包含三个部分,元素名只占其中一部分,所以不能出现多个元素名的情况。这样的约定可以防止当层级很深命名过长的问题。...的规则,可用于校验 BEM 命名规范。
BEM 是一种命名方法,能够帮助你在前端开发中实现可复用的组件和代码共享。...可读性和可维护性: BEM 使用简洁明了的命名约定,使得 CSS 代码易于理解和维护。 增强可扩展性: BEM 的结构使得页面元素易于扩展和修改,不会影响其他部分的样式。...避免样式冲突: BEM 的命名约定避免了样式冲突,每个块和元素都有独立的命名空间,不会受到外部样式的影响。 缺点: 命名冗长: BEM 的命名规范较为严格,可能导致类名过长,增加了代码量和阅读难度。...样式层级深: 由于 BEM 的嵌套结构,可能导致样式层级较深,增加了 CSS 的优先级和复杂度。 维护成本: 对于初学者来说,需要一定时间来适应和理解 BEM 的命名规范,可能增加学习和维护成本。...命名约定:ITCSS需要遵循一定的命名约定和规范,有时可能需要花费额外的时间和精力来命名和组织样式代码。 可能导致过度设计:过度遵循ITCSS的规范可能导致样式表过度设计,增加不必要的复杂性。
给没有自注释的代码写上详细说明,比如: 为什么用到了 z-index 兼容性处理或者针对特定浏览器的 hack OOCSS 和 BEM 出于以下原因,我们鼓励使用 OOCSS 和 BEM 的某种组合:...”,是一种用于 HTML 和 CSS 类名的命名约定。...BEM 最初是由 Yandex 提出的,要知道他们拥有巨大的代码库和可伸缩性,BEM 就是为此而生的,并且可以作为一套遵循 OOCSS 的参考指导规范。...嵌套选择器中的内容也要遵循上述指引。...Mixins 为了让代码遵循 DRY 原则(Don't Repeat Yourself)、增强清晰性或抽象化复杂性,应该使用 mixin,这与那些命名良好的函数的作用是异曲同工的。
书写方式解耦化,不会造成命名空间的污染,如:.xxx ul li 写法带来的潜在嵌套风险。命名方式化扁平,避免样式层级过多而导致的解析效率降低,渲染开销变大。...规则 BEM的命名模式在社区中有着不同方式,以下为 Yandex 团队所提出的命名规则为(本文中的代码使用该规则): ....[Block 块]__[Element 元素]_[Modifier 修饰符] 不同的命名模式,区别在于BEM之间的连接符号不同,依个人而定: ....同类型的块,在显示上可能会有一定的差异,所以不要定义过多的外观显示样式,主要负责结构的呈现。这样就能确保块在不同地方复用和嵌套时,增加其扩展性。综上所述,最终我们可以把BEM规则最终定义成: ....个人建议可以尝试使用 BEM 规范来书写代码。 BEM 命名会使得 Class 类名变长,但经过 GZIP 等压缩后,文件的体积其实并无太大影响。
本周 ARTS,做了算法题 String to Integer (atoi),看了一篇介绍 BEM 命名方式的文章,Tip 记录了 css 属性 pointer-events 的用法,分享了使用 python...-9df46d29b64c 作者主要介绍了 BEM 这种书写 HTML 和 CSS 的约定。...之前也听说过 BEM 的命名方式,我理解一个是为了每个模块更严谨,命名更加合理和语义化,另一方面也是为了能避免样式的冲突。...不过随着 Vue 等框架支持 css scoped 之后,冲突的问题有很大的缓解。 BEM 的使用还是要根据实际情况,如果规定的太严格,样式上的重用性会降低不少。...除此之外,还可以嵌套着用,最外层设置 pointer-events:none;,然后给里面需要点击的东西设置 pointer-events:all;,里面东西的时间又可以用了。
https://blog.csdn.net/wkyseo/article/details/51352229 项目中有个需求,事件第一次执行(立即执行)与后几次执行不同,但是直接传递定义好的命名函数...如果通过匿名函数内再嵌套具名函数,结果就能返回正确!...第一个fn指向匿名函数(对象),然后添加事件指向的是匿名函数(对象),你改写fn并不会改写该匿名函数(对象);第二个事件是匿名函数,里面调用fn指向的函数(形成闭包,取最后赋值的fn)。...Object{c:3},因为a, c指向同一对象,引用传递不是复制,这个例子中的b就好比fn 后记 项目中刚开始想实现此功能的时候用的是第一种方法,但是未能实现,经同事指点,需要嵌套一个匿名函数,形成闭包...,取最后赋值的fn。
(继承) Nesting(嵌套) 可以通过以下方式安装 Sass: npm install sass 使用: /* example.scss */ .example { color: red;...Tailwind CSS 是一种实用型优先的框架,使用一种称为“原子类”的方法,通过提供大量的预定义类来帮助构建定制的、响应式的 UI 组件和页面。... ); } export default Example; # 样式规范 前面已经介绍了不同样式类型,现在我们将介绍编写样式的一些常见约定。...# BEM BEM 是一种命名约定,它可以帮助您更好地组织样式。BEM 代表块(block)、元素(element)和修饰符(modifier),它们可以组合在一起,用于将大型界面拆分为独立的块。...块(block): 用于描述,通常由类表示 在第一眼看上去就告诉我们该类表示什么 块(block)有以下规则 块可以嵌套 可以有任意数量的嵌套级别
在 SCSS 中实现复杂的嵌套选择器时,可以遵循以下几个原则以确保代码的可维护性: 限制嵌套层级:避免层级过深的嵌套,最好不要超过三级。...过多的嵌套会增加代码的复杂性和选择器的特异性,降低代码的可读性和维护性。 使用父元素选择器:尽量使用父元素选择器 & 来限定样式的作用范围,避免使用全局选择器或依赖于特定的 HTML 结构。...这样可以减少代码冗余,提高代码的可维护性。 使用 BEM 命名规范:BEM(Block Element Modifier)是一种常用的 CSS 命名规范,可以有效地管理复杂的嵌套选择器。...BEM 规范将样式分为 block、element 和 modifier 三个层级,使代码结构更清晰,易于理解和维护。...综上所述,通过限制嵌套层级、使用父元素选择器、提取共用样式、使用 BEM 命名规范和利用 SCSS 的特性,可以在 SCSS 中实现复杂的嵌套选择器并确保代码的可维护性。
下划线在命名中的约定(Underscores in Python) 作者: quantgalaxy@outlook.com blog: https://blog.csdn.net/quant_galaxy...介绍 在各种python编码规范中,都对命名规则做了很详细的约定。 但是下划线和变量名称的组合,在python中都有特定的含义。...这些含义有些是一种认为约定,有些是python解释器严格执行的准则。 有必要掌握这些约定,来写出专业的代码。 2....此通配符导入不包括私有导入,这就是为什么在尝试访问单前下划线变量时引发异常的原因。除了变量以外,函数命名也是一样的规则。 所以这里它是由Python解释器强制执行的。...总结: 单前下划线在类成员命名中,约定是在类内部可见。实际访问是不受限制的。 单前下划线的变量和函数,在py文件中的定义,被其它py文件导入时是不可见的,这是被Python解释器执行的。
1.2 CSS模块化的核心思想 CSS模块化是一种将样式按模块划分的方法,每个模块都具有自己的作用域,样式不会影响到其他模块,从而降低了样式冲突的概率。 2....CSS模块化的实现方式 3.1 BEM(块、元素、修饰符) BEM是一种常用的CSS命名约定,通过块(Block)、元素(Element)、修饰符(Modifier)的组合来命名样式,以确保样式的唯一性...3.3 CSS预处理器 使用CSS预处理器如Sass或Less可以将样式分割成模块,并使用变量和嵌套规则来提高可维护性。 4....在项目中应用CSS模块化的最佳实践 4.1 选择适当的实现方式 根据项目需求和团队技能,选择合适的CSS模块化方法。...4.2 统一命名规范 建立命名规范并在整个项目中保持一致,以确保团队成员理解并遵循规则。 4.3 模块化组织 将样式表分割为模块,每个模块只包含特定组件或元素的样式,以提高可维护性。 5.
你可以通过subtle 和 brittle ways 在CSS中通过做选择器的嵌套来绑定你的HTML结构。...规则3: 构建组件时用边界元法(BEM)命名 尽可能试着用BEM命名去创建独立的组件,我们不必完全按照BEM的规范 - 只是用命名组合,这意味着类名以如下的方式命名: .block__element--...BEM类名命名方式。...这允许我们仅可以修改在特定块(block)级别的修饰符, 并且在子块中不能重复修饰符(可以理解为父子嵌套时不重名;“E”在BEM中即元素elements)。...为了更好的理解BEM体系,可以转向这里 - 由Harry Roberts写的CSS指南 :BEM形式的命名。
法则三:采用BEM命名来开发组件 在构建可隔离组件时,尽可能采用BEM命名方案给类命名。...我们没有遵循完整的BEM指南——只是命名方案,这就是说类名应该是这种形式: .block__element--modifier 为此我们这样组织我们的 Sass: .pg-deadline &__date...Sass嵌套为我们创建BEM类名。...,我们允许 1层CSS选择器嵌套。...为了更好地理解类似BEM的命名方式,前往查看Harry Roberts的CSS指南的类BEM命名部分。(需要提到的是,我们发现Harry实际上建立了一套跟我们类似的命名方案。)
非也,scss足够聪明,当你以这种方式进行命名时,它可以知道你想指代的是分块文件。 这就是我们需要知道的关于变量、嵌套、分块和导入所有的新星。...CSS 代码组织方案:BEM 我曾经无数次给我的css类名提供我能想到的全部术语,你懂的,比如这些命名:.button .page-1 .page-2 。我经常不知道如何进行命名。...BEM 帮助我们解决该问题。BEM 是一种命名约定,表示“块 元素 修饰符”。 该方案可以使我们的代码更加结构化,更加模块化和更大的可复用性。现在我来解释下什么是块、元素和修饰符。...示例:.post--important,.post__btn--disabled 注意点 当你使用 BEM 时,你的命名只有 class 类名并且只使用 class 类名,没有 id ,没有标签,就只使用...这种情况请使用具体的 class 类名来替代。 是的,你的 HTML 文件将会因为 BEM 变得臃肿,但比起BEM带来的好处,这只是一个无足轻重的小缺点。 举个例子 这是给你的练习。
领取专属 10元无门槛券
手把手带您无忧上云