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

СОВЕТ 1. (Функции для самостоятельного ведения бизнеса) Чистые функции: функции должны быть предназначены для одной цели. Любую логику, несовместимую с конкретной целью, следует оставлять за пределами рассматриваемой функции.

// Pure bliss
function sum(operand1, operand2) {
     return operand1 + operand2;
}
// Ok, whatever
function sum(operand1, operand2) {
     console.log("I don't know why I am here!");
     return operand1 + operand2;
}

СОВЕТ 2. (Давайте сдержим обещания). Возврат обещаний по вызовам данных: обещания позволяют выполнять дальнейшие действия в зависимости от того, был ли вызов успешным или закончился неудачей.

promise = dataCallThatRunsInBackground();
promise.then(
function(answer) {
    // do something
},
function(error) {
    // report something
},
function(progress) {
    // report progress
});

СОВЕТ 3: (Отслеживание всегда помогает!) Избегайте перезаписи списка каждый раз, когда DOM визуализируется, используя доступную конструкцию track by. Итак, вот что происходит за кулисами: Angular добавляет свойство $$ hashKey к каждому элементу в списке, чтобы отслеживать его. Поэтому, если вы перезагрузите список, даже если ваш список не изменится, хэш, связанный с элементами, изменится, и ng-repeat не знает, что они представляют одни и те же элементы. Используя конструкцию track by, можно более эффективно использовать ng-repeat, указав ключи, которые должны использоваться для отслеживания, а не генерировать случайные идентификаторы каждый раз.

<div ng-repeat="item in itemList">
    I am slow! I am not liking it! Please change me.
</div>
<div ng-repeat="item in itemList track by item.id">
    Oh yes! I feel like Flash!
</div>

СОВЕТ 4: (Это и есть внедрение зависимостей!) Всегда полезно хранить бизнес-логику отдельно от кода приложения - Контроллер. Таким образом, любое количество изменений может быть включено в контроллер без ненужного вмешательства в бизнес-логику, хранящуюся в Services.

angular.module(‘MyAppName’).controller('ControllerName', ['$scope','ServiceName',function($scope, ServiceName) {
    // controller code goes here - hopefully no business logic
}
]);

СОВЕТ 5: (Связывание работает!) Редко рекомендуется использовать {{}}, потому что он медленнее, чем ng-bind. ng-bind помещает наблюдателя в переменную и обновляет только тогда, когда значение переменной изменяется, в отличие от {{}}, который периодически обновляется (каждый DigestCycle), даже если в этом нет необходимости.

СОВЕТ 6. (Константы никогда не изменят) Всегда рекомендуется поддерживать константы для значений, которые остаются неизменными во всем приложении. В случае изменения значения любой из констант, обновление значения должно выполняться в одном месте, и оно отражается во всех местах приложения.

СОВЕТ 7: (Минификация звучит круто!) Минификация, согласно Википедии, означает процесс удаления всех ненужных символов из исходного кода без изменения его функциональности. Это уменьшает объем данных, которые необходимо передать, поэтому рекомендуется использовать инструменты минификации, такие как Gulp, Grunt, Webpack и UglifyJS2.

СОВЕТ 8: (Уф! Отладка) И последнее, но не менее важное, это использование инструментов отладки. Существует множество инструментов для отладки, таких как AngularJs Batarang (больше не поддерживается) и ng-inspector (наиболее широко используемый плагин Chrome для отладки), которые могут облегчить жизнь разработчикам!

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

Вот ссылки для этого блога: Лучшие практики AngularJs, Лучшие практики AngularJs от разработчиков Toptal, Советы и лучшие практики для AngularJs Framework, 10 лучших практик Angular JS

Ваш отзыв очень ценен. Если у вас есть какие-либо вопросы относительно этого блога, пожалуйста, свяжитесь со мной по адресу [email protected]. Мы высоко ценим ваши усилия. Не забудьте выразить признательность, если вам понравился блог. Спасибо!