如何在CSS中进行功能/重构的“软”发布?

时间:2016-03-22 12:29:09

标签: css refactoring workflow

这个问题涉及工作流和.css结构。

TL;博士

我正在寻找最佳实践来重构和重构我的CSS,以便不同的团队可以使用相同的文件,但不会影响其他团队的网站外观。

深入解释

我在一家大公司工作,拥有一个大型“电子商务”部门(1k +员工)。我是第一个在这里工作的Webdesigner,我继承了5年多的Java Developer CSS。我们有3个大型团队在网站区域使用相同的CSS。

我受雇为eComm解决方案的所有领域带来相同的外观和感觉。这意味着我必须重构(我猜大约90%)代码。我将使用表格举例:

<table class="company-table team-table static-table"></table>

这使得重构CSS的工作变得非常困难。我想在一个“静态”表中总结表格,以供所有团队使用。我可以看一下所有的表并在课堂上重构它们

static-table

这种方法的问题在于,每个团队都会将此类与其他类结合使用,这些类会对表进行更改,甚至可能会覆盖重构的类。

每个团队都有不同的冲刺和发布,不同步。我可以要求团队将他们的工作与我的同步。但那不会发生。

我的想法是创建一个全新的课程,例如:

company-static-table

在这个新课程中,我会为表格添加所有属性:

.company-static-table {border-radius: 0.5em; padding: 1em; ... }

然后我可以告诉团队有一个新的静态表类,并且他们有(例如)5个sprint来实现新类。这样我就可以让它们在最适合它们时添加更改。

如果表永远保持不变并且它们应该看起来相同,那么这将很好用。但可能是(例如)我们需要在站点区域(不同的团队)中使用不同的填充。我的解决方案是:

  .company-static-table { ... 
      .team-a-table { 
        padding: 0.5em;
      } 
  }

......好吧,但这会从问题开始。它会好一点,因为现在有4个甚至更多css类的对象可以在一个中重构。这样我就可以将类的数量减少到最多2个。

应该很清楚,我无法改变他们的工作流程。我不想为每个团队开始提供CSS。

这对我来说是一个巨大的挑战,我只有2年以上的经验,没有同事或老板是网站设计师。我已经打破了许多试图重构代码的元素。

请任何帮助都很棒。我有近20k行(编译时)css重构。我不想开始某种方法只是为了看到这是一个坏主意......

感谢任何输入

1 个答案:

答案 0 :(得分:0)

在此视频中可以看到对此的最佳回应(以及我所做的):

https://www.youtube.com/watch?v=iDhj92tPjYU(从24:25开始)

简而言之:制作并行版本并存一段时间并使用CSS文件更改版本以适应更改,同时仍保持相同的旧结构。

我希望这个答案可以帮助其他人。