Re[2]: Попинайте код
От: binnom  
Дата: 16.04.15 09:25
Оценка: +1
Здравствуйте, __kot2, Вы писали:

__>могу предложить метод экспресс-анализа качества кода.

__>открываете каталог с кодом. и ищете по всем файлам слово helper. найдено — код в помойку
Зачетный вброс.

__>MyPointF — использование слов или префиксов-слов-паразитов My, Model, Helper, Util выдают недостаточный "словарный запас" программиста. То есть можно говорить только про начальный уровень.

MVC — нубы придумали и используют, а .Net framework — извольте на помоечку?
Re[3]: Попинайте код
От: __kot2  
Дата: 16.04.15 13:32
Оценка: :))) :))
Здравствуйте, binnom, Вы писали:

B>Здравствуйте, __kot2, Вы писали:


__>>могу предложить метод экспресс-анализа качества кода.

__>>открываете каталог с кодом. и ищете по всем файлам слово helper. найдено — код в помойку
B>Зачетный вброс.
хелперов не существует. всё можно назвать хелпером. например string можно было назвать charhelper. а html parser это тоже типа html helper. а программист это компьютерхелпер. в принципе можно всё заменить на хелперы. хелперы хелперам помогают. но по уму, конечно же, у всего есть свое имя. словарный запас и мозг просто нужен для использования понятных терминов. слово программист меньше людям знакомо, чем слово компьютерщик.

__>>MyPointF — использование слов или префиксов-слов-паразитов My, Model, Helper, Util выдают недостаточный "словарный запас" программиста. То есть можно говорить только про начальный уровень.

B>MVC — нубы придумали и используют, а .Net framework — извольте на помоечку?
придирки, я так понимаю, к Model ?
вот у нас есть некая сущность. Например, не знаю, танк. Класс с названием танк это и есть наша модель танка. У нас может быть еще танкконтроллер и танквью. но создавать класс танкмодель глупо. сам танк и есть модель. что-то<модель> это масло масленное. да, в некоторых случаях непонятно как это кусок вообще назвать — модель чего она вообще являются. просто какая-то какаха кака-то ходит через базу. какахамодель. Да, те, кто так пишут — нубы.
Re[4]: Попинайте код
От: binnom  
Дата: 16.04.15 15:22
Оценка:
Здравствуйте, __kot2, Вы писали:

__>>>могу предложить метод экспресс-анализа качества кода.

__>>>открываете каталог с кодом. и ищете по всем файлам слово helper. найдено — код в помойку
B>>Зачетный вброс.
__>хелперов не существует. всё можно назвать хелпером. например string можно было назвать charhelper. а html parser это тоже типа html helper. а программист это компьютерхелпер. в принципе можно всё заменить на хелперы. хелперы хелперам помогают. но по уму, конечно же, у всего есть свое имя. словарный запас и мозг просто нужен для использования понятных терминов. слово программист меньше людям знакомо, чем слово компьютерщик.
Отлично, расширьте наш кругозор и словарный запас Utility и Helper нашли, какие еще есть?

__>>>MyPointF — использование слов или префиксов-слов-паразитов My, Model, Helper, Util выдают недостаточный "словарный запас" программиста. То есть можно говорить только про начальный уровень.

B>>MVC — нубы придумали и используют, а .Net framework — извольте на помоечку?
__>придирки, я так понимаю, к Model ?
Да не только. Если посмотреть на .Net framework (в джаве думаю то же самое), то там будут сотни если не тысячи всяческих хелперов и утилзов. Это все видимо тоже не кошерно?

__>вот у нас есть некая сущность. Например, не знаю, танк. Класс с названием танк это и есть наша модель танка. У нас может быть еще танкконтроллер и танквью. но создавать класс танкмодель глупо. сам танк и есть модель. что-то<модель> это масло масленное. да, в некоторых случаях непонятно как это кусок вообще назвать — модель чего она вообще являются. просто какая-то какаха кака-то ходит через базу. какахамодель. Да, те, кто так пишут — нубы.

Вы пробовали делать проекты с UI с помощью какого-либо MVC framework?
Re[5]: Попинайте код
От: __kot2  
Дата: 16.04.15 15:37
Оценка:
Здравствуйте, binnom, Вы писали:
__>>хелперов не существует. всё можно назвать хелпером. например string можно было назвать charhelper. а html parser это тоже типа html helper. а программист это компьютерхелпер. в принципе можно всё заменить на хелперы. хелперы хелперам помогают. но по уму, конечно же, у всего есть свое имя. словарный запас и мозг просто нужен для использования понятных терминов. слово программист меньше людям знакомо, чем слово компьютерщик.
B>Отлично, расширьте наш кругозор и словарный запас Utility и Helper нашли, какие еще есть?
не понял вопроса

B>Да не только. Если посмотреть на .Net framework (в джаве думаю то же самое), то там будут сотни если не тысячи всяческих хелперов и утилзов. Это все видимо тоже не кошерно?

B>Вы пробовали делать проекты с UI с помощью какого-либо MVC framework?
да делал, один даже в микрософте пока работал.
у нас там половина классов называлась хелперами.
вы еще приведите MFC в качестве авторитетного примера дизайна
Qt вроде бы было неплохо сделано. давайте просто ради интереса сравним кол-во хелперов в Qt и какой-нить так .Net хрени. соотношение кол-ва хелперов на кол-во классов, как мне кажется, можно уже считать метрикой качества дизайна.
Отредактировано 16.04.2015 16:49 __kot2 . Предыдущая версия . Еще …
Отредактировано 16.04.2015 16:48 __kot2 . Предыдущая версия .
Re[6]: Попинайте код
От: binnom  
Дата: 16.04.15 16:25
Оценка:
Здравствуйте, __kot2, Вы писали:

B>>Отлично, расширьте наш кругозор и словарный запас Utility и Helper нашли, какие еще есть?

__>не понял вопроса
Если суффиксы Helper и Utility вам не нравятся, то каким, по вашему, образом называть подобные классы?

B>>Вы пробовали делать проекты с UI с помощью какого-либо MVC framework?

__>да делал, один даже в микрософте пока работал.
__>у нас там половина классов называлась хелперами.
__>вы еще привезите MFC в качестве авторитетного примера дизайна
У нас видимо разный бэкграунд, в ASP.Net MVC проектах обычно существует куча моделей (ага, с суффиксом Model), и это нормально.

__>Qt вроде бы было неплохо сделано. давайте просто ради интереса сравним кол-во хелперов в Qt и какой-нить так .Net хрени. соотношение кол-ва хелперов на кол-во классов, как мне кажется, можно уже считать метрикой качества дизайна.

Я думаю это в меру бессмысленно, т.к. сравнивать весь .Net FW и Qt — это как сравнивать слона и моську.
Re[7]: Попинайте код
От: __kot2  
Дата: 16.04.15 16:57
Оценка:
Здравствуйте, binnom, Вы писали:
B>Здравствуйте, __kot2, Вы писали:
B>>>Отлично, расширьте наш кругозор и словарный запас Utility и Helper нашли, какие еще есть?
__>>не понял вопроса
B>Если суффиксы Helper и Utility вам не нравятся, то каким, по вашему, образом называть подобные классы?
ну как, блин. название должно давать какую-то информацию о классе. каждый класс можно назвать 01helper — он же нам помогает только нолики и единички в памяти перекладывать. но мы это про каждй класс сказать можем. это может быть, не знаю, Person, Account, AccountAction, там какой-нить AccountValidator, а не Data, DataHelper и DataUtility, которые "обрабатывают все имеющиеся данные с помощью вспомогательных классов". какую это информацию нам дает? о чем это вообще?

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

B>>>Вы пробовали делать проекты с UI с помощью какого-либо MVC framework?

__>>да делал, один даже в микрософте пока работал.
__>>у нас там половина классов называлась хелперами.
__>>вы еще привезите MFC в качестве авторитетного примера дизайна
B>У нас видимо разный бэкграунд, в ASP.Net MVC проектах обычно существует куча моделей (ага, с суффиксом Model), и это нормально.
товарищ один в микрософте задизайнил такую вот хрень (за нее его кстати повысили до сеньера)
про жабоскрипт, но сути не меняет.
есть Model — прямо так и называется Model или DataModel
огрооомный такой класс, который в себя включал то, что должно быть в контроллере. Когда он уже перевалил за тыщ 10 строк он создал файл ModelHelper и стал туда какать. Модель могла абсолютно всё. вся логика там была. и пользовалась она классов utils, который в себе содержал самопально и забагованно написанные методы работы с датами, сериализацию в json и еще тыщ 10 строк — я просто лазил туда только за правкой конверсии дат и сериализации.

__>>Qt вроде бы было неплохо сделано. давайте просто ради интереса сравним кол-во хелперов в Qt и какой-нить так .Net хрени. соотношение кол-ва хелперов на кол-во классов, как мне кажется, можно уже считать метрикой качества дизайна.

B>Я думаю это в меру бессмысленно, т.к. сравнивать весь .Net FW и Qt — это как сравнивать слона и моську.
ну тогда просто если не лень, у кого уже есть установленный qt — гляньте, пожалста, сколько там Helper и Util?
Отредактировано 16.04.2015 16:59 __kot2 . Предыдущая версия .
Re[8]: Попинайте код
От: __kot2  
Дата: 16.04.15 18:02
Оценка: :))
Здравствуйте, __kot2, Вы писали:
__>ну тогда просто если не лень, у кого уже есть установленный qt — гляньте, пожалста, сколько там Helper и Util?
разобрало меня любопытство. скачал qt 4 и 5.
че-то перехвалил я по-моему qt
хотя количество файлов зараженных хелперами упало с 854 до 268 при переходе на 5ую версию, то есть видно улучшение качество, но код всё равно какой-то так себе.

в 5ом так вообще есть класс Helper в helper.h helper.cpp
хорошо, что хотя бы в примерах

в некоторых местах такое вот творчество:

            QTextCursor helper = cursor;

            helper.setPosition(fragment.position());
            helper.setPosition(fragment.position() + fragment.length(),
                                QTextCursor::KeepAnchor);
            helper.setCharFormat(newImageFormat);


в 4ом есть замечательный drawhelper на 7400 строк
с такими вот замечательными таблицами

DrawHelper qDrawHelper[QImage::NImageFormats] =
{
    // Format_Invalid,
    { 0, 0, 0, 0, 0, 0 },
    // Format_Mono,
    {

DrawHelper qDrawHelperCallback[QImage::NImageFormats] =


ндаа, перехвалил я че-то qt. я еще давно с ним работал — с 3ей версией. мне тогда по сравнению с MFC показался очень даже вменяемый фреймфорк

скачал еще и исходники 3ей версии — там все гораздо чище. всего 30 файлов с упоминаниями хелперов. из них где-то с половина в текстах комментов про helper function, хотя сама ф-ия названа вменяемо типа
а где есть хелперы так просто по затупу какому-то наверное временному от переработки:

static void setStyleHelper(QWidget *w, QStyle *s)
{
    w->unsetPalette();
    w->setStyle(s);

    const QObjectList *children = w->children();
    if (! children)
    return;

    QPtrListIterator<QObject> childit(*children);
    QObject *child;
    while ((child = childit.current()) != 0) {
    ++childit;

    if (child->isWidgetType())
        setStyleHelper((QWidget *) child, s);
    }
}

не понимаю, чем бы их просто setStyle не устроило

или в string тоже как-то коряво
inline QString &QString::insert( uint index, const char *s )
{ return insertHelper( index, s ); }

inline QString &QString::insert( uint index, const QByteArray &s )
{
    int pos = s.find( 0 );
    return insertHelper( index, s, pos==-1 ? s.size() : pos );
}

QString &QString::insertHelper( uint index, const char *s, uint len )

я такие вещи обычно называю insert_impl тогда уж. причем тут хелпер какой-то, когда тут полноценная реализация вставки?
Отредактировано 16.04.2015 18:15 __kot2 . Предыдущая версия .
Re[5]: Попинайте код
От: nightcode  
Дата: 17.04.15 08:47
Оценка: 1 (1) +1
Здравствуйте, drol, Вы писали:

D>Какой автомобиль ??? Вы что несёте ??? Задание примитивное — дня три работы для результата близкого к идеальному по всем параметрам.

Я охреневаю. Вот реально заняться больше нечем на три дня, да ? Кроме как тестовое задание писать ? Это больше половины рабочей недели, вообще то
Re[4]: Попинайте код
От: petr_t  
Дата: 17.04.15 09:20
Оценка:
Здравствуйте, __kot2, Вы писали:

__>хелперов не существует.


Дано: есть простой метод, который создает каталог, если такового не существует.
Задача: как назвать класс, куда этот метод нужно поместить?
Re[5]: Попинайте код
От: __kot2  
Дата: 17.04.15 14:29
Оценка: :)
Здравствуйте, petr_t, Вы писали:
_>Здравствуйте, __kot2, Вы писали:
__>>хелперов не существует.
_>Дано: есть простой метод, который создает каталог, если такового не существует.
_>Задача: как назвать класс, куда этот метод нужно поместить?
если нет собственных идей, то посмотрите где подобное уже было расположено другими
тем более, что возможно ф-ия такая уже есть. по сути это же просто create_directory но без кидания исключения в случае если уже создана
в С++ подобные ф-ии находятся в модуле filesystem. в питоне — в модуле path. оба имени неплохи. создаете свой модуль path или filesystem и там пишите реализацию недостающих ф-ий. вам может еще понадобиться ф-ия для проверки существования каталога, проверки, а каталог ли это или, например, узнать размер этого самого каталога. нафига всё это по хелперам раскидывать-то?
тем более языки развиваются и скорее всего спустя несколько лет вы сможете заменить ваши самопальные реализации этих ф-ий на стандартные. вым не придется вычищать всякие хелпер-методы и хелпер-классы разбросанные по проекту
Отредактировано 17.04.2015 14:31 __kot2 . Предыдущая версия .
Re[6]: Попинайте код
От: petr_t  
Дата: 17.04.15 14:54
Оценка:
Здравствуйте, __kot2, Вы писали:

__>в С++ подобные ф-ии находятся в модуле filesystem. в питоне — в модуле path. оба имени неплохи.


Я не про модуль спрашивал, а про класс.
Re[7]: Попинайте код
От: __kot2  
Дата: 17.04.15 15:03
Оценка: :)
Здравствуйте, petr_t, Вы писали:
_>Здравствуйте, __kot2, Вы писали:
__>>в С++ подобные ф-ии находятся в модуле filesystem. в питоне — в модуле path. оба имени неплохи.
_>Я не про модуль спрашивал, а про класс.
1 модуль — 1 класс. в чем проблема? думаете как-то по другому, чтоли задумано?
в Питоне это просто ф-ии, которые как бы статические. в С++ у вас будет класс Filesystem или filesystem со статическими ф-иями.
Отредактировано 17.04.2015 15:05 __kot2 . Предыдущая версия .
Re[5]: Попинайте код
От: BulatZiganshin  
Дата: 19.04.15 20:06
Оценка: :)
Здравствуйте, petr_t, Вы писали:

_>Дано: есть простой метод, который создает каталог, если такового не существует.

_>Задача: как назвать класс, куда этот метод нужно поместить?

filepath
Люди, я люблю вас! Будьте бдительны!!!
Re[6]: Попинайте код
От: neFormal Россия  
Дата: 19.04.15 21:03
Оценка: :)
Здравствуйте, tofox2, Вы писали:

T>три дня пахать бесплатно? чтобы просто кому-то понравиться? как по мне, адекватное задание — 3 часа, ну 6 максимум.


мм, а что за три часа ты успеешь написать?
...coding for chaos...
Re[8]: Попинайте код
От: petr_t  
Дата: 20.04.15 03:24
Оценка:
Здравствуйте, __kot2, Вы писали:

__>1 модуль — 1 класс. в чем проблема? думаете как-то по другому, чтоли задумано?

__>в Питоне это просто ф-ии, которые как бы статические. в С++ у вас будет класс Filesystem или filesystem со статическими ф-иями.

filesystem занят. Что будешь делать?
Re[5]: Попинайте код
От: Handie  
Дата: 20.04.15 15:27
Оценка: :)
_>Дано: есть простой метод, который создает каталог, если такового не существует.
_>Задача: как назвать класс, куда этот метод нужно поместить?

Типичное ООП головного мозга — создание каталога должно быть обязательно методом класса. C# навязывает ООП как никакой другой язык, в том же C++ можно иметь функуию в неймспейсе.
Re[6]: Попинайте код
От: binnom  
Дата: 21.04.15 12:21
Оценка:
Здравствуйте, Handie, Вы писали:

H>Типичное ООП головного мозга — создание каталога должно быть обязательно методом класса. C# навязывает ООП как никакой другой язык, в том же C++ можно иметь функуию в неймспейсе.

Зато там утечек памяти не бывает. Ну, почти
Re[2]: Попинайте код
От: Grienders Земля  
Дата: 25.04.15 02:18
Оценка:
Здравствуйте, gandjustas, Вы писали:


G>Может им просто код твой нужен был?


Ты серьезно? Такое может быть? Я тоже так думаю иногда, когда мне присылают тестовые задания, которое больше похоже на небольшие проекты-шаровары. То есть, его после меня допилить и можно продавать.

Мне в одной компании сказали после собеседования: опыта мало для senior Ruby, почти сразу же, после минутного интервью. Я им: давайте я тестовое задание сделаю. Дали, говорят: делай на любом языке, срок — любой. Почему на любом, вам же Ruby программист нужен, спросил я у них через несколько дней, когда понял, что там что-то не то? Они — это да, но мы... готовы учить человека, если он знает азы.

И другие случаи такие бывали.
Re[7]: Попинайте код
От: tofox2 Россия  
Дата: 25.04.15 09:25
Оценка:
Здравствуйте, neFormal, Вы писали:

F>мм, а что за три часа ты успеешь написать?


достаточно для вынесения решения
Re[8]: Попинайте код
От: neFormal Россия  
Дата: 25.04.15 16:05
Оценка:
Здравствуйте, tofox2, Вы писали:

F>>мм, а что за три часа ты успеешь написать?

T>достаточно для вынесения решения

давай конкретнее.
что именно ты успеешь написать за это время?
для какой позиции это подойдёт? какие задачи тебе можно будет давать, например, на испытательный срок?
...coding for chaos...
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.