@okuznetsov1

Как провести рефакторинг и ревью кода?

Написал код, помогите оценить его качество/стиль, и дать советы по улучшению

Код на здесь https://github.com/okuznetsov1/projects-angular/tr...
  • Вопрос задан
  • 234 просмотра
Пригласить эксперта
Ответы на вопрос 2
www.codelord.net/2016/11/23/spotting-outdated-angu...
https://github.com/rwwagner90/angular-styleguide-es6

Сходу
1) Вместо $http используй $resource
2) getPriority, getTag, getStatus должны возвращать promise
3) Контроллер должен быть тоньше
4) $scope в контроллерах не использовать, за єто убивать нужно, вместо єтого используй ControllerAs
Ответ написан
@kapko
учусь)
1) код разбить по модулям
2) использовать es6
3)
if (type === 'simple')
{
LxNotificationService.notify(text);
}
else if (type === 'sticky')
{
LxNotificationService.notify('text', undefined, true);
}
else if (type === 'icon')
{
LxNotificationService.notify(text, 'android');
}
else if (type === 'color')
{
LxNotificationService.notify(text, undefined, false, 'grey');
}
else if (type === 'info')
{
LxNotificationService.info(text);
}
else if (type === 'success')
{
LxNotificationService.success(text);
}
else if (type === 'warning')
{
LxNotificationService.warning(text);
}
else if (type === 'error')
{
LxNotificationService.error(text);
}
switch case))) думаю тут будет куда лучше
4) Пытайся для начало писать код по принципу:
1 фунция решаюет 1 задачу а не так:
function dataProcessingIsTagsForDrawTable(){

var s;
var arrayTags = [];

//Собираем массив содержащий tag.name для его отображения в datatable
angular.forEach(vm.dataTableTbody, function (element) {
s = '';
angular.forEach(element.tags_id, function (tag) {
s += tag.tag_name + ', ';
});
s = s.substring(0, s.length - 2);
arrayTags.push(s);
});

angular.forEach(vm.dataTableTbody, function (element, key) {
element.tags_name = arrayTags[key];
});

}
в конце хочется сказать не бросай писать код, насколько больше пишешь кода настолько и больше будешь понимать как делать рефакторинг и review кода
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы