这里的 上次投票 是
在您当前的主要项目中,有多少人会接触 CSS?
定义为
- 实际编写和编辑它。
- 或者,是它的活跃使用者。您/他们编写 HTML 并使用可用的 CSS,因此对实际的 CSS 具有既得利益,而不仅仅是结果。
我进行此投票的目的是了解 CSS 的共享程度。CSS 是否是通常由许多不同的人员处理的代码?还是更私密一些?
答案:绝大多数 CSS 由少数人处理。以下是细目
查看 CodePen 上 Chris Coyier (@chriscoyier) 编写的笔 在您当前的主要项目中,有多少人会接触 CSS?。
在近 32,000 人中,超过一半(56%)的人表示只有他们会接触其主要项目中的 CSS。另有 19% 的人表示只有两个人会接触它。这略微领先于只有 3-5 人的小型团队(17%)。令人惊讶的是,中等规模的 6-10 人团队仅占 3%,略低于大型 25+ 人团队的 4%。最少的一部分是 11-25 人的大型团队,仅占 1%。
换一种方式分解,大约 **四分之三的 CSS 仅由一两个人接触**。加上小型团队,92% 的 CSS 由 5 人或更少的人接触。
那么,从中可以学到什么?好吧,就像所有单一问题匿名非科学投票一样,可能没有太多。促使我进行投票的原因是想要了解我所询问的内容。你们这些 CSS 作者中有多少人正在协作编写 CSS 文件本身,以及在多大程度上。当有人断言 CSS 必须以任何人都可以参与编写的方式编写时,这句话有多正确?样式指南和详细的注释是否是一种普遍的最佳实践,还是仅在某些情况下适用?如果您是独行者,您奇怪的 CSS 编写习惯可以接受吗?还是会受到惩罚?面向团队的最佳实践是否过于缓慢?
我不知道答案。但有趣的是,看到总体上接触 CSS 的人通常很少。
当然,将此与其他类型的代码进行比较将会很有趣。公司通常会有更多的后端开发人员,对吧?这意味着团队规模更大,并且更多的人员会参与他们的代码吗?它是否因语言而异?
明天进行新的投票。
在我看来,这在很大程度上是由于 CSS 样式自然能够遍布整个网站。CSS 人员(尤其是偶然使用者)不习惯模块化思考,因此接触样式意味着更改项目中的许多内容,这令人恐惧且混乱。
Web Components(或任何其他允许沙盒样式的技术)将帮助我们克服这种思维方式,并开始从“组件”的角度思考 CSS,这将使它更容易维护,因此更多的人会敢于大胆地走向它。
当然,这只是我的直觉。
需要注意的一个重要评论是访问者偏差。自由职业者/承包商/业余爱好者更有可能由 1-2 人处理 CSS。根据我(显然是轶事)在代理机构和硅谷初创公司的经验,始终有更多的人参与其中。
代理机构拥有团队,这些团队按顺序或并行地处理同一个项目;规模更大的代理机构通常拥有独立的团队,所有团队都处理同一个项目(团队 1 处理项目 1,团队 2 处理项目 2,依此类推)。
初创公司通常会混合使用工程师,尤其是在早期,每个人都身兼数职,因此后端人员会编写 CSS,前端人员会编写路由逻辑和数据库查询。
我目前所在的初创公司共有大约 25 名员工,我主要担任前端人员,另外 4 名工程师定期接触 CSS(至少每月几次),设计师和内容/营销团队另外增加了 6 名人员,他们使用 CSS 类来创建样式指南(在设计师的情况下)或创建基于 CMS 的页面。
再说一次,我知道这只是轶事,而且我属于少数,但在过去我工作过的几个地方,情况都非常相似。
我认为不仅要考虑当前样式表上的协作者,还要考虑团队未来的成员,无论是新贡献者的加入还是您离开项目后接替您的人员。
您好,Chris,
这是一个非常好的投票,可以了解明智地管理我们的 CSS 文件以及使用合适的人员的重要性。
我当然很想学习如何使 CSS 更易于团队管理,学习如何编写良好的文档……毕竟,这对于您未来的任何工作来说都是一项有用的技能,对吧?
但我确实是我公司七个网站中唯一一个接触代码的人,只要我还在,他们就没有打算培训其他人如何做。我喜欢 BEM 和 SMACKS,并且我会向任何人宣传它们,但它们非常面向团队,因此我已将其缩减或为我自己的目的进行了重大修改。我绝不会让任何人查看我的 SASS——它很混乱,但这是我的混乱。
我想学习如何为自己编写更高效和更可持续的代码,但也想在这里和那里学习一些东西,这样将来过渡到更大的团队就不会那么具有挑战性。
作为一家代理机构中唯一的开发人员,我是唯一一个接触代码的人,但当我做一些疯狂的事情时(每个人有时都会做,对吧?),我总是尝试注释我为什么这样做以及它做了什么。
为了将来接触代码的人以及我自己的理智。
作为一名自由职业者,我见过其他人搞砸,我真的很讨厌必须弄清楚发生了什么事,我认为无论项目规模大小,无论只有您一个人还是 20 个人,都需要注释和样式指南。
我认为注释是必要的,对吧?或者也许是我的程序员方面在说话。除非代码非常简单易懂(例如您可以脑补几行简单的代码),否则我不会留下任何未注释的代码。
我的上一条评论似乎被删除了?为什么?我的关于 JSLint 的评论的相关性难道还不够明显吗?
“当有人断言 CSS 必须以任何人都可以参与编写的方式编写时,这句话有多正确?”
您能否设想两年后的情况,并且看到没有人会加入您目前的一人军队项目并接触您的代码?您能否肯定地说出来?您是否计划开源该网站并接受贡献?
“样式指南和详细的注释是否是一种普遍的最佳实践,还是仅在某些情况下适用?”
您是否在不使用 JSLint 的情况下编写 Javascript?如果您不会在没有样式指南或不使用 JSLint 的情况下编写 Javascript,那么为什么您要对 CSS 采取不同的处理方式?代码就是代码。无论语言如何。人们会通过 Pep 8 类似器运行他们的 Python 代码,Ruby 编写者会通过 RuboCop 推送他们的代码。CSS 应该通过 CSS 类似器运行。向前迈进,而不是后退。
“如果您是独行者,您奇怪的 CSS 编写习惯可以接受吗?”
参见第一点。
“还是会受到惩罚?”
如果您最终选择重构或需要更改旧代码,不一致性最终会给您带来麻烦。
“面向团队的最佳实践是否过于缓慢?”
只有当您需要考虑它们时,它们才会缓慢。如果您使用一致的样式并使用类似器来执行它,随着时间的推移,您将无需考虑。当您强制编写良好的代码而不是草率的代码时,您将开始编写更好的代码。
很棒的评论!我会保留这条评论,但我会将其隐藏,因为我不允许匿名评论。这是我的社区政策。
在我看来,我们大多数人如果没有 github 也可以正常工作,因为只有我们自己会接触 css 或任何其他文件。只要您拥有 Time Machine 等备份系统,通常就可以撤消重大错误。
此外,我想知道谁创建了大部分网站?个人编码员、承包商、大型代理机构?我敢打赌,大多数网站是由个人创建的,而不是由大型代理机构创建的。我还敢打赌,大多数网站都是为小型企业或个人创建的,而不是为需要代理机构的大公司创建的。
我想说只有我一个人。我并不是说我的项目经理不能,他也可以很好地使用 CSS。但是,由于我自己编写了自定义主题……我宁愿坚持由一个人进行编辑,而不是让他那双脏手弄乱我的格式良好的样式表。