2013-02-04 2 views
0

Как вы думаете, товарищи-программисты об использовании коротких функций и использовании встроенного кода?Стиль кодирования. Короткие функции против встроенного кода

Пример с функцией:

//Check if all keys from $keys exist in $array 
function functionName(array $array, array $keys) { 
    return array_diff($keys, array_keys($array)); 
} 

functionName($mas,$keys); 

против использования только код:

array_diff($keys, array_keys($mas)); 
+1

Зачем создавать дополнительный вызов функции и дополнительные байты, когда вам не нужно? – BenM

+0

Я думаю, что это полностью зависит от вас. –

+0

Для одного лайнера я не вижу много смысла –

ответ

3

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

Кроме того, встроенный array_diff($keys, array_keys($mas)); намного легче отлаживать для программистов-партнеров, чем просматривать код, чтобы узнать, что именно делает functionName() и где он находится.

+0

Я тот, отлаживающий этот код :) – TomTom

+0

Возможно, это возможно, но не обязательно в будущем. Хорошая практика - подумать о будущих разработчиках ...;) – BenM

+0

следующий вопрос: где граница между меньшим и более простым кодом или чем-то в будущем? – TomTom

0

Это зависит от того, что functionName на самом деле есть.

Если вы используете customerDetailsAreValid на протяжении всего кода, и вам придется добавить валидацию $array['email'], вы будете благодарны за разделение намерений и реализацию.

Если с другой стороны вы обертываете array_diff в функции diffArray, то не так много смысла.

+0

комментарий перед функцией - описание того, что она делает, и имя было похоже. – TomTom

0

Я думаю, что ясность является главной проблемой при написании логики, которую вы надеетесь, будет вокруг в течение любого количества времени.

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

Размер файла - Я считаю этот аргумент очень произвольным. Файлы js передаются один раз и затем записываются. Во многих случаях вы найдете описательные имена и т. Д. (Надеюсь, комментарии), которые все добавляют к размеру файла. Если размер очень важен, используйте минимизатор файлов, который делает файл как можно более маленьким.

Ищете функцию? Как насчет того, чтобы понять, что происходит в объемном docReady. CTL-F обычно вызывает средство поиска.

Я дам, что могут быть простые случаи, когда встроенная функция мало умаляет читаемость кода. Однако встроенный подход никогда не будет БОЛЕЕ ЧИСТЫМ, чем альтернативное разделение ссылки и реализации.

мои два цента

Смежные вопросы