За последние 24 часа нас посетил 17591 программист и 1591 робот. Сейчас ищут 1507 программистов ...

CSS Auditor

Тема в разделе "Решения, алгоритмы", создана пользователем Kreker, 12 мар 2009.

  1. Kreker

    Kreker Старожил

    С нами с:
    8 апр 2007
    Сообщения:
    5.433
    Симпатии:
    0
    При разработке проектов от нескольких тысяч строк и с десятками файлов мы часто сталкиваемся с проблемой в CSS-стиливиках, когда CSS засоряется:
    где-то в шаблонах классы прописываются, но не прописываются в CSS, или прописываются везде, но в шаблонах удаляются. В итоге, к окончанию разработки обнаруживается, что накопились неиспользуемые или непрописанные классы.

    Предлагаю вашему вниманию инструмент, который позволяет вычислить актуальность тех или иных классов или id -- CSS Auditor.


    Возможности:
    1. Скан в директориях и парсинг файлов по заданному расширению на наличие классов и ID
    2. Парсинг CSS-файла с целью получения классов и ID
    3. Выдача информации по неиспользуемым классам и ID, но объявленным в CSS
    4. Выдача информации по необъявленным классам в CSS

    Инструмент писался для кодировки UTF-8, но его можно использовать и в других кодировках. Проблемы могут возникнуть только с нелатинскими символами.


    Ограничения:
    1. Возможно использовать только 1 CSS-файл
    2. Нет возможности выбора сканируемых директорий
      Скрипт сканирует корневую и все вложенные директории (корневой считается та, в которой он находится)
    3. Долгое время работы скрипта. ~90% времени уходит на скан директорий
    4. Ограниченный и жесткий список форматов файлов для парсинга
    5. Привязанность к РНР5 и веб-серверу

    Предупреждение:
    Использовать скрипт только в локальных условиях или на сервере, но при условии, что доступ к нему будет закрыт посторонним лицам.

    Посмотреть код
    Скачать CSSAuditor


    P.S. Если вдруг скрипт будет востребован, то буду улучшать его дальше. Благо идеи есть.
    :?
     
  2. 440Hz

    440Hz Старожил
    Команда форума Модератор

    С нами с:
    21 дек 2012
    Сообщения:
    8.003
    Симпатии:
    1
    Адрес:
    Оттуда
    а не надо все в один CSS валить.
    я вот под каждый модуль свой бы тянул.

    делает кто-то кусок - ну и CSS ему тоже отделить.
     
  3. 440Hz

    440Hz Старожил
    Команда форума Модератор

    С нами с:
    21 дек 2012
    Сообщения:
    8.003
    Симпатии:
    1
    Адрес:
    Оттуда

    продаю машину, только без руля, колес и тормозов. ездите - наслаждайтесь.
    =)

    грамотная разработка и организация труда избавляет от этих проблем и чем писать подобное малонужное явление посидели бы и подумали как организоваться. толку бы было в 100 раз больше.
     
  4. 440Hz

    440Hz Старожил
    Команда форума Модератор

    С нами с:
    21 дек 2012
    Сообщения:
    8.003
    Симпатии:
    1
    Адрес:
    Оттуда
    гы. на вид красиво. по сути говно. не туда движитесь, ребята...
    =)
     
  5. К сожалению, не всегда приходится писать свое и с нуля. Тут уже поздно организовыватся.
     
  6. akrinel

    akrinel Активный пользователь

    С нами с:
    26 янв 2009
    Сообщения:
    955
    Симпатии:
    1
    Адрес:
    Spb
    440Hz, присоединяюсь к флоппику, не все работают над проектами с самого начала. Часто приходится поддерживать уже готовый код.

    Kreker, я утащу идею(с указанием авторства конешн)?
     
  7. Kreker

    Kreker Старожил

    С нами с:
    8 апр 2007
    Сообщения:
    5.433
    Симпатии:
    0
    У меня в личных проектах подобной неразберихи практически нет, по крайней мере консоль молчит. (то, что на сайте -- это лишь самая малая доля). Хотя иногда и бывает в шаблоне пропишешь класс и с просонья не пропишешь его в CSS. Но вот когда работает команда или надо дописывать...

    Да, когда функционал и посещаемость разделов сильно различаются, тогда согласен. А в противном случае, зачем грузить несколько CSS ради собственного удобства? Тут люди изголяются, чтобы трафик уменьшить...

    :) Заявленное она выполняет, поэтому все атрибуты есть, только колеса плохие и двигатель примитивный. Но я уже сказал, что если будет интерес -- продолжу разработку. И половину ограничений постараюсь устранить.




    Конечно :)
     
  8. lexa

    lexa Активный пользователь

    С нами с:
    22 июл 2007
    Сообщения:
    1.746
    Симпатии:
    0
    Адрес:
    Санкт-Петербург
    А если RecursiveIteratorIterator?
     
  9. Kreker

    Kreker Старожил

    С нами с:
    8 апр 2007
    Сообщения:
    5.433
    Симпатии:
    0
    Тормозит файловая система и листинг папок =\
    На моем Duron 1600, ATA 100, FAT32 на полную обработку папкок со вложенностью 3-4 и 1500 файлами (16 мб) уходит от 4,5 до 8 секунд в зависимости от загруженности системы.