Конвенции CSS / [закрытые] Модели Размещения кода

Я поддерживаю хранимые процедуры ( MySQL имеет поддержку хранимых процедур с 5.0 ) с точки зрения безопасности - преимущества -

  1. Большинство баз данных (включая MySQL ) позволяют ограничить доступ пользователей к выполнению хранимых процедур. Четкое управление доступом к безопасности полезно для предотвращения эскалации атак привилегий. Это предотвращает возможность взлома приложений, которые могут быть запущены SQL, непосредственно из базы данных.
  2. Они абстрагируют исходный SQL-запрос из приложения, поэтому для приложения доступно меньше информации о структуре базы данных. Это затрудняет понимание людьми базовой структуры базы данных и разработку подходящих атак.
  3. Они принимают только параметры, поэтому существуют преимущества параметризованных запросов. Конечно, IMO вам все равно нужно дезинфицировать ваш вход, особенно если вы используете динамический SQL внутри хранимой процедуры.

Недостатки -

  1. Они (хранимые процедуры) трудно поддерживать и стремиться к размножению очень быстро. Это делает их проблемой.
  2. Они не очень подходят для динамических запросов - если они созданы для принятия динамического кода в качестве параметров, тогда многие преимущества сбрасываются.

23
задан Zach Johnson 15 March 2011 в 20:02
поделиться

4 ответа

Natalie Down известности ClearLeft произвела действительно большой показ слайдов, затрагивающий эту тему и больше http://natbat.net/2008/Sep/28/css-systems/

Загрузка PDF, поскольку это включает намного больше информации, чем показ слайдов. Я рекомендовал бы это CSS devs всех уровней квалификации.

18
ответ дан Andy Ford 29 November 2019 в 02:51
поделиться

Это все очень субъективно согласно обычным дебатам форматирования кода, и я не знаю ни о каких формализованных соглашениях.

метод, который я выбрал, должен использовать все строчные классы и идентификаторы с подчеркиваниями, разделяющими слова (#page_container, например). Я объявляю весь мой тег стили сначала (html, body, ul, и т.д.), тогда все классы и идентификаторы, отсортированные в алфавитном порядке. Кроме того, все стили, определенные в каждом классе, идентификаторе или теге, определяются в алфавитном порядке также. Используя это соглашение облегчает разыскивать конкретный стиль.

Для форматирования, я всегда сжимаю его как можно меньше, но все еще четкий. Я поместил все на одну строку с соответствующим пробелом. Если у Вас есть Visual Studio, можно определить этот формат и иметь его, автоматически отформатировал этот путь к Вам (Стиль набора к [1 114] Компактные правила под Инструменты, Опции, Текстовый редактор, CSS, Формат ).

Соглашения о присвоении имен чрезвычайно субъективны здесь, но вещь иметь в виду состоит в том, чтобы назвать Ваши элементы как их намеченную цель, не их стилизованное значение. Например, если у Вас есть лозунг компании, Вы хотите разработать в большом, красном имени шрифта идентификатор #slogan вместо #red_bold.

Вот полный пример для давания Вам общее представление:

body { background-color: #fff; color: #999; font-family: verdana, arial, helvetica, sans-serif; font-size: 76%; padding: 0; margin: 0; }
a { color: #2c5eb4; text-decoration: none; }
a:hover { text-decoration: underline; }
h1, h2, h3, h4, h5, h6 { color: #f70; font-family: helvetica, verdana, arial, serif; font-weight: bold; margin: 1.2em 0; }
h1 { font-size: 2.4em; line-height: 1.2em;  margin-bottom: 0em; margin-top: 0em; }
h2 { font-size: 1.7em; }
h3 { font-size: 1.4em; }
h4 { font-size: 1.2em; font-weight: bold; }
h5 { font-size: 1.0em; font-weight: bold; }
h6 { font-size: 0.8em; font-weight: bold; }
img { border: 0; }
li, ol, ul { font-size: 1.0em; line-height: 1.8em; list-style-position: inside; margin-bottom: 0.1em; margin-left: 0; margin-top: 0.2em; }
#content { clear: both; margin: 0; margin-top: -4em; }
#columns { height: 36em; }
#column1, #column2, #column3, #column4 { border-right: 1px solid #dbdbdb; float: left; width: 18%; margin: 0 0.5em; padding: 0 1em; height: 100%; }
#column1 { width: 28%; }
#column1 input { float: right; }
#column1 label { color: #999; float: left; }
#column2 a, #column3 a { font-weight: bold; }
#column4 { border-right: 0; }
#form { margin: 0 2em; }
.help_button { float: right; text-align: right; width: 30px; }
4
ответ дан cowgod 29 November 2019 в 02:51
поделиться

Вот проект того, как я заказываю свои css свойства. Это примерно следует инструкции выполнения расположения и расположения сначала, затем книгопечатание, затем фоны и другие незначительные вещи. Я пытаюсь заказать свои свойства тем, как они влияют на модель поля так, как довольно возможно. Однако мое упорядочивание имеет тенденцию смещаться вокруг немного. Я ценил бы любые комментарии к этому.

el {
    display:;
    float:;
    clear:;
    visibility:;
    position:;
    top:;
    right:;
    bottom:;
    left:;
    z-index:;
    width:;
    min-width:;
    height:;
    min-height:;
    overflow:;
    margin:;
    padding:;
    border:;
    border-top:;
    border-right:;
    border-bottom:;
    border-left:;
    border-width:;
    border-top-width:;
    border-right-width:;
    border-bottom-width:;
    border-left-width:;
    border-color:;
    border-top-color:;
    border-right-color:;
    border-bottom-color:;
    border-left-color:;
    border-style:;
    border-top-style:;
    border-right-style:;
    border-bottom-style:;
    border-left-style:;
    border-collapse:;
    border-spacing:;
    outline:;
    list-style:;
    font:;
    font-family:;
    font-size:;
    line-height:;
    font-weight:;
    text-align:;
    text-indent:;
    text-transform:;
    text-decoration:;
    white-space:;
    vertical-align:;
    color:;
    opacity:;
    background:;
    background-color:;
    background-image:;
    background-position:;
    background-repeat:;
    cursor:;
    }

Лично я предпочитаю сохранять одно свойство, на строку расположил одну вкладку с отступом, с заключительной изогнутой фигурной скобкой, расположенной с отступом одна вкладка. Мне это более четки этот путь, но это - определенно вопрос мнения/предпочтения.

я раньше снабжал вкладками отступ css объявления для соответствия моим отношениям родителя/ребенка HTML как можно больше, но я больше не делаю это. Группирующаяся функция ofCSSEdit помогает значительно уменьшить искушение сделать так.

CSS действительно не имеет никакого предписанного соглашения для структуры кода. Таким образом, это сводится что работы лучше всего для Вас.

2
ответ дан Andy Ford 29 November 2019 в 02:51
поделиться

Хорошо я лично не знаю ни о каком соглашении по сути, но я знаю, что существует много рекомендаций там, которые являются действительно хорошей идеей следовать, но в основном зависит в том, как Вы хотите реализовать свой CSS для Вас для выбора того, который соответствует Вам больше всего.

0
ответ дан Tsundoku 29 November 2019 в 02:51
поделиться
Другие вопросы по тегам:

Похожие вопросы: