методы стенографии


Это хорошо или плохо практике (или, когда это уместно) использовать методы стенографии?

Давайте представим, что мы используем библиотеку jQuery, потому что их много.:

jQuery.ajax()
jQuery.get()
jQuery.getJSON()
jQuery.getScript()
.load()
jQuery.post()

Это все на самом деле просто сокращенная формы для AJAX-функция, за исключением нагрузки, которая сочетает в себе другую функцию позже.

Я могу использовать $.Аякс( тип данных: 'скрипт',) , чтобы сделать то же самое, что getScript, но почему?

Мне это кажется безумным, и усложняет интерфейс API. Это хорошо, или плохо, или что? Почему нет getCSS и разработку Постскриптум и putScript тоже?



391
5
задан 3 мая 2011 в 07:05 Источник Поделиться
Комментарии
2 ответа

Хм, хороший вопрос. Я думаю, я бы сказал, что правило номер один по программированию сухой: не повторяйся. Можно утверждать, что любая функция-это "условное обозначение", что он делает. Но всякий раз, когда вы окажетесь набрав то же самое снова и снова, даже если это всего лишь две или три линии, стоит хотя бы спросить себя, я должен сделать это в функцию?

Теперь авторы jQuery и не знаю точно, какой код ты пишешь, они просто имеют общее представление о том, что код JavaScript в этом мире похоже. Так может они изначально просто имел $.Аякс() и затем с течением времени они поняли, вы знаете, 99% времени, люди либо делает, всегда получает и всегда посты, это редкое, что вы делаете что-то вроде:

var method;
if (someComplicatedThing()) method = 'GET';
else method = 'POST';
$.ajax({method:method});

так почему бы не сократить его немного?

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

3
ответ дан 5 мая 2011 в 05:05 Источник Поделиться

Там сухо, и есть читабельность. Каждая функция-это черный ящик от призыва, тенденция к сухой, когда вы находитесь один с кодом и черные ящики свежи в вашем уме. Потом, когда вы вернетесь к коду позже - вы пытаетесь определить, что происходит внутри коробки просто из названия функции.

Поздравляем, вы только что распыленный код. И когда вы это сделали, вы, наверное, использовали какой-то тип именования, которые будут способствовать вписав вместо описания-используя короткие имена, которые позволили вам, чтобы 'увеличить' на строку кода.

Когда вы вернетесь к нему, ваше эго будет гладить с мыслями "я должен был день, я это написал гений!" - потому что ты не можешь понять этого сейчас, не сидя в позе лотоса и глубоко размышляя.

Есть много, чтобы быть сказанным в пользу плоской кодирования и копирования/вставки расширяемости. С другой стороны, у вас есть власть хорошо развитая структура.

Вы должны спросить себя: 'что я делаю' -- это основа, которую я могу получить и оформить? Я буду делать это? Каков мой срок?

Так что у вас есть напряженность вдоль спектра модульность/структуры и плоский код, который говорит, что он делает прямо в лицо. Не берите сухой и другие лучшие практики, как религия, посмотрите на ваши реальные цели и решать проблемы, как пехотинец ... твоя работа-убивать в срок и не оставить слишком много невинных трупов на своем пути.

0
ответ дан 14 января 2012 в 12:01 Источник Поделиться