Здравствуйте, __kot2, Вы писали:
__>могу предложить метод экспресс-анализа качества кода. __>открываете каталог с кодом. и ищете по всем файлам слово helper. найдено — код в помойку
Зачетный вброс.
__>MyPointF — использование слов или префиксов-слов-паразитов My, Model, Helper, Util выдают недостаточный "словарный запас" программиста. То есть можно говорить только про начальный уровень.
MVC — нубы придумали и используют, а .Net framework — извольте на помоечку?
Здравствуйте, binnom, Вы писали:
B>Здравствуйте, __kot2, Вы писали:
__>>могу предложить метод экспресс-анализа качества кода. __>>открываете каталог с кодом. и ищете по всем файлам слово helper. найдено — код в помойку B>Зачетный вброс.
хелперов не существует. всё можно назвать хелпером. например string можно было назвать charhelper. а html parser это тоже типа html helper. а программист это компьютерхелпер. в принципе можно всё заменить на хелперы. хелперы хелперам помогают. но по уму, конечно же, у всего есть свое имя. словарный запас и мозг просто нужен для использования понятных терминов. слово программист меньше людям знакомо, чем слово компьютерщик.
__>>MyPointF — использование слов или префиксов-слов-паразитов My, Model, Helper, Util выдают недостаточный "словарный запас" программиста. То есть можно говорить только про начальный уровень. B>MVC — нубы придумали и используют, а .Net framework — извольте на помоечку?
придирки, я так понимаю, к Model ?
вот у нас есть некая сущность. Например, не знаю, танк. Класс с названием танк это и есть наша модель танка. У нас может быть еще танкконтроллер и танквью. но создавать класс танкмодель глупо. сам танк и есть модель. что-то<модель> это масло масленное. да, в некоторых случаях непонятно как это кусок вообще назвать — модель чего она вообще являются. просто какая-то какаха кака-то ходит через базу. какахамодель. Да, те, кто так пишут — нубы.
Здравствуйте, __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?
Здравствуйте, binnom, Вы писали: __>>хелперов не существует. всё можно назвать хелпером. например string можно было назвать charhelper. а html parser это тоже типа html helper. а программист это компьютерхелпер. в принципе можно всё заменить на хелперы. хелперы хелперам помогают. но по уму, конечно же, у всего есть свое имя. словарный запас и мозг просто нужен для использования понятных терминов. слово программист меньше людям знакомо, чем слово компьютерщик. B>Отлично, расширьте наш кругозор и словарный запас Utility и Helper нашли, какие еще есть?
не понял вопроса
B>Да не только. Если посмотреть на .Net framework (в джаве думаю то же самое), то там будут сотни если не тысячи всяческих хелперов и утилзов. Это все видимо тоже не кошерно? B>Вы пробовали делать проекты с UI с помощью какого-либо MVC framework?
да делал, один даже в микрософте пока работал.
у нас там половина классов называлась хелперами.
вы еще приведите MFC в качестве авторитетного примера дизайна
Qt вроде бы было неплохо сделано. давайте просто ради интереса сравним кол-во хелперов в Qt и какой-нить так .Net хрени. соотношение кол-ва хелперов на кол-во классов, как мне кажется, можно уже считать метрикой качества дизайна.
Здравствуйте, __kot2, Вы писали:
B>>Отлично, расширьте наш кругозор и словарный запас Utility и Helper нашли, какие еще есть? __>не понял вопроса
Если суффиксы Helper и Utility вам не нравятся, то каким, по вашему, образом называть подобные классы?
B>>Вы пробовали делать проекты с UI с помощью какого-либо MVC framework? __>да делал, один даже в микрософте пока работал. __>у нас там половина классов называлась хелперами. __>вы еще привезите MFC в качестве авторитетного примера дизайна
У нас видимо разный бэкграунд, в ASP.Net MVC проектах обычно существует куча моделей (ага, с суффиксом Model), и это нормально.
__>Qt вроде бы было неплохо сделано. давайте просто ради интереса сравним кол-во хелперов в Qt и какой-нить так .Net хрени. соотношение кол-ва хелперов на кол-во классов, как мне кажется, можно уже считать метрикой качества дизайна.
Я думаю это в меру бессмысленно, т.к. сравнивать весь .Net FW и Qt — это как сравнивать слона и моську.
Здравствуйте, 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?
Здравствуйте, __kot2, Вы писали: __>ну тогда просто если не лень, у кого уже есть установленный qt — гляньте, пожалста, сколько там Helper и Util?
разобрало меня любопытство. скачал qt 4 и 5.
че-то перехвалил я по-моему qt
хотя количество файлов зараженных хелперами упало с 854 до 268 при переходе на 5ую версию, то есть видно улучшение качество, но код всё равно какой-то так себе.
в 5ом так вообще есть класс Helper в helper.h helper.cpp
хорошо, что хотя бы в примерах
ндаа, перехвалил я че-то qt. я еще давно с ним работал — с 3ей версией. мне тогда по сравнению с MFC показался очень даже вменяемый фреймфорк
скачал еще и исходники 3ей версии — там все гораздо чище. всего 30 файлов с упоминаниями хелперов. из них где-то с половина в текстах комментов про helper function, хотя сама ф-ия названа вменяемо типа
а где есть хелперы так просто по затупу какому-то наверное временному от переработки:
Здравствуйте, drol, Вы писали:
D>Какой автомобиль ??? Вы что несёте ??? Задание примитивное — дня три работы для результата близкого к идеальному по всем параметрам.
Я охреневаю. Вот реально заняться больше нечем на три дня, да ? Кроме как тестовое задание писать ? Это больше половины рабочей недели, вообще то
Здравствуйте, petr_t, Вы писали: _>Здравствуйте, __kot2, Вы писали: __>>хелперов не существует. _>Дано: есть простой метод, который создает каталог, если такового не существует. _>Задача: как назвать класс, куда этот метод нужно поместить?
если нет собственных идей, то посмотрите где подобное уже было расположено другими
тем более, что возможно ф-ия такая уже есть. по сути это же просто create_directory но без кидания исключения в случае если уже создана
в С++ подобные ф-ии находятся в модуле filesystem. в питоне — в модуле path. оба имени неплохи. создаете свой модуль path или filesystem и там пишите реализацию недостающих ф-ий. вам может еще понадобиться ф-ия для проверки существования каталога, проверки, а каталог ли это или, например, узнать размер этого самого каталога. нафига всё это по хелперам раскидывать-то?
тем более языки развиваются и скорее всего спустя несколько лет вы сможете заменить ваши самопальные реализации этих ф-ий на стандартные. вым не придется вычищать всякие хелпер-методы и хелпер-классы разбросанные по проекту
Здравствуйте, petr_t, Вы писали: _>Здравствуйте, __kot2, Вы писали: __>>в С++ подобные ф-ии находятся в модуле filesystem. в питоне — в модуле path. оба имени неплохи. _>Я не про модуль спрашивал, а про класс.
1 модуль — 1 класс. в чем проблема? думаете как-то по другому, чтоли задумано?
в Питоне это просто ф-ии, которые как бы статические. в С++ у вас будет класс Filesystem или filesystem со статическими ф-иями.
Здравствуйте, petr_t, Вы писали:
_>Дано: есть простой метод, который создает каталог, если такового не существует. _>Задача: как назвать класс, куда этот метод нужно поместить?
Здравствуйте, __kot2, Вы писали:
__>1 модуль — 1 класс. в чем проблема? думаете как-то по другому, чтоли задумано? __>в Питоне это просто ф-ии, которые как бы статические. в С++ у вас будет класс Filesystem или filesystem со статическими ф-иями.
_>Дано: есть простой метод, который создает каталог, если такового не существует. _>Задача: как назвать класс, куда этот метод нужно поместить?
Типичное ООП головного мозга — создание каталога должно быть обязательно методом класса. C# навязывает ООП как никакой другой язык, в том же C++ можно иметь функуию в неймспейсе.
Здравствуйте, Handie, Вы писали:
H>Типичное ООП головного мозга — создание каталога должно быть обязательно методом класса. C# навязывает ООП как никакой другой язык, в том же C++ можно иметь функуию в неймспейсе.
Зато там утечек памяти не бывает. Ну, почти
Ты серьезно? Такое может быть? Я тоже так думаю иногда, когда мне присылают тестовые задания, которое больше похоже на небольшие проекты-шаровары. То есть, его после меня допилить и можно продавать.
Мне в одной компании сказали после собеседования: опыта мало для senior Ruby, почти сразу же, после минутного интервью. Я им: давайте я тестовое задание сделаю. Дали, говорят: делай на любом языке, срок — любой. Почему на любом, вам же Ruby программист нужен, спросил я у них через несколько дней, когда понял, что там что-то не то? Они — это да, но мы... готовы учить человека, если он знает азы.
Здравствуйте, tofox2, Вы писали:
F>>мм, а что за три часа ты успеешь написать? T>достаточно для вынесения решения
давай конкретнее.
что именно ты успеешь написать за это время?
для какой позиции это подойдёт? какие задачи тебе можно будет давать, например, на испытательный срок?