Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Почему мне отказали? - качество кода (http://www.flasher.ru/forum/showthread.php?t=184446)

expl 19.09.2012 18:15

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

Korchy 19.09.2012 18:33

И ни одного комментария в коде.

Aquahawk 19.09.2012 18:46

Цитата:

И ни одного комментария в коде.
В столь малом коде и не должно быть комментариев имхо

caseyryan 19.09.2012 19:04

Цитата:

В столь малом коде и не должно быть комментариев имхо
А разве присутствие комментариев как-то соотносится с размером кода?
Комментарии должны быть в любом коде, который в последствии может вызывать сомнения.
Посмотрев на этот код, я бы сказал, что их специалист еще очень вежливо отписался.
Если честно, код просто ужасен.
Я бы тоже отказал соискателю с таким кодом. Но почему, тут уже до меня всё сказали.

п.с. Тема-то флеймовая. Странно, что ее до сих пор не перенесли

Aquahawk 19.09.2012 20:02

Этот код будучи правильно сделан и написан не должен требовать комментов. Я сторонник того что коммент должен пояснять то что, что может быть воспринято как ошибочно написанный код, чтобы читающий человек понял что это написано сознательно. Сюда относятся присваивания в if, хотя я не пишу так, сюда же относится fallthrough, прочее.
Вот, например, метод очистки модели данных в котором я не так давно написал коммент.
Код AS3:

                /**
                * @private
                */

                protected override function clear(event:Event=null):void {
                        this._food = null;
                        this._money = null;
                        this._premium = null;
                        this.data = null; // сеттер вызван намеренно
 
                        super.clear(event);
                }

в результате читающий не подумает переправить data на _data, потому что есть комментарий, и пойдёт сеттер посмотрит, и увидит что в нём происходит отписка слушателей от имеющейся даты и переподписка их на новую если она есть. Таким образом подписка отписка неразрывно связана с наличием данных, что важно.

Добавлено через 2 минуты
А комметировать код в духе:
Цитата:

// это таймер
// подписали лисенера

// вункция лисенер, принимает параметром ивент потому что её подпишут на таймер
я считаю крайне некорректным

mooncar 19.09.2012 21:27

Цитата:

Сообщение от caseyryan (Сообщение 1096638)
п.с. Тема-то флеймовая. Странно, что ее до сих пор не перенесли

Тема профильная, о качестве кода AS3. Потому и остается здесь.

caseyryan 19.09.2012 22:21

Цитата:

А комметировать код в духе:
Цитата: // это таймер
// подписали лисенера

// вункция лисенер, принимает параметром ивент потому что её подпишут на таймер

я считаю крайне некорректным
Никто о таком комментировании не говорит. Это, естественно, бессмысленно.
Я говорю о коде, котоырй может вызывать сомнения или затруднения в понимании в будущем.
Код из первого сообщения явно требует хотя бы пары комментов.

ну, это, в общем-то как кому нужно
Вот так писать:
Код AS3:

this._food = null;
this._money = null;
this._premium = null;

по сути, тоже не целесообразно. Если писать приватные поля с андерскором, то указывать this тоже нет никакой необходимости. И так понятно, что это относится к this. И компилятору это понятно.

Цитата:

Тема профильная, о качестве кода AS3. Потому и остается здесь.
Ну, во всяком случае, заголовок темы не говорит ничего о качестве написания ас3 кода

artcraft 19.09.2012 23:01

-De- и alatar всё очень правильно написали
даже из этого маленького кусочка кода видно что это спагетти-код

Aquahawk 19.09.2012 23:15

Цитата:

по сути, тоже не целесообразно. Если писать приватные поля с андерскором, то указывать this тоже нет никакой необходимости.
У нас это просто стандарт. Тем более что с андерскором идут приватные и protected, и при обращении к протектед полям предка пишем super._food = null; Для явного подчёркивания того что и где.

expl 20.09.2012 14:20

Про комментировать/некомментировать поговорили, про this/_ упомянтули.
Еще про основное надо обяснить оппонентам что они неправы:
- пробелы vs табы
- страшный_вред vs неоспоримая_польза венгерской нотации


Часовой пояс GMT +4, время: 00:05.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.