Re[4]: Гнилая компания белорусского IT рынка
От: mgu  
Дата: 06.04.16 11:36
Оценка:
Здравствуйте, alzt, Вы писали:

AG>>Просто уже надеялся попасть на ту должность, на которую на 100% подхожу.


A>Откуда ты это знаешь?

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

Кстати, идеальный кандидат -- это тот, который подходит на 80%. 100% -- бег на месте, скучно. Я вот лично сразу отказываюсь от 300%-х предложений.
Re: Вы бы поосторожнее
От: sharpcoder Россия  
Дата: 06.04.16 11:37
Оценка: +4
Здравствуйте, AlexGin, Вы писали:

AG>Хочется излить душу об НЕДОБРОСОВЕСТНЫХ игроках белорусского IT рынка!!!

AG>P.S. Не жалею, что не попал в эту компанию — когда был там два раза, казалось, что попал в "годы застоя" во времена СССР...

Белорусский рынок не такой большой, так откровенно демонстрировать свою неадекватность, вам может выйти боком.
Re[9]: Гнилая компания белорусского IT рынка
От: AlexGin Беларусь  
Дата: 06.04.16 11:38
Оценка:
Здравствуйте, mgu, Вы писали:

mgu>Ткнул в первый попавшийся файл (https://github.com/AlexGin/GSM_SMS_Send/blob/master/GSMModemClassic.cpp):


mgu>
mgu>CWnd* pWnd = AfxGetApp()->GetMainWnd();
mgu>if(!bPhoneOnLine)
mgu>{
mgu>  ::MessageBox(pWnd->m_hWnd, "GSM модем не подключен!", "PhoneBook", MB_OK | MB_ICONINFORMATION);
mgu>  return;
mgu>}
mgu>AfxGetApp()->DoWaitCursor(1); // Start of waiting cursor // BeginWaitCursor();
mgu>


mgu>...и задумался о пользе выкладывания кода.

конкретно — что здесь тебя смущает?
Re[10]: Гнилая компания белорусского IT рынка
От: _Artem_ Россия  
Дата: 06.04.16 11:40
Оценка:
Здравствуйте, AlexGin, Вы писали:

AG>конкретно — что здесь тебя смущает?


По моим замечаниям я так понял возражений нет? Я там их штук 10 написал. Это только начало.
Re[7]: Гнилая компания белорусского IT рынка
От: mgu  
Дата: 06.04.16 11:41
Оценка:
Здравствуйте, Demandred, Вы писали:

_AB>>P.S. Зачем квартиру указывать в резюме и прочие слишком личные подробности?


D>Это у них со времен СССР привычка осталась

D>Они правда думают что кого то волнует сколько у них детей и как зовут собаку

А вот не скажите. Кадровичек, которые подбирают себе женихов, это очень даже волнует.
Re[9]: Гнилая компания белорусского IT рынка
От: AlexGin Беларусь  
Дата: 06.04.16 11:45
Оценка:
Здравствуйте, mgu, Вы писали:

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


AG>>Бесспорно есть!

AG>>Если интересно — то пожалуйста:
AG>>https://github.com/AlexGin/GSM_SMS_Send

mgu>Ткнул в первый попавшийся файл (https://github.com/AlexGin/GSM_SMS_Send/blob/master/GSMModemClassic.cpp):


mgu>
mgu>CWnd* pWnd = AfxGetApp()->GetMainWnd();
mgu>if(!bPhoneOnLine)
mgu>{
mgu>  ::MessageBox(pWnd->m_hWnd, "GSM модем не подключен!", "PhoneBook", MB_OK | MB_ICONINFORMATION);
mgu>  return;
mgu>}
mgu>AfxGetApp()->DoWaitCursor(1); // Start of waiting cursor // BeginWaitCursor();
mgu>


mgu>...и задумался о пользе выкладывания кода.

Приложение PhoneBook — утилита для внутреннего рынка (не требуется многоязыковой поддержки).
Тут даже сильно сказано — просто раздаю эту программку друзьям и знакомым
Посему — прятать строки в ресурсный файл здесь, ИМХО, не имеет смысла.
Это только даст дополнительные усложнения.
Принцип KISS — никто не отменял.
Re[10]: Гнилая компания белорусского IT рынка
От: mgu  
Дата: 06.04.16 11:50
Оценка:
Здравствуйте, AlexGin, Вы писали:

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


mgu>>Ткнул в первый попавшийся файл (https://github.com/AlexGin/GSM_SMS_Send/blob/master/GSMModemClassic.cpp):


mgu>>
mgu>>CWnd* pWnd = AfxGetApp()->GetMainWnd();
mgu>>if(!bPhoneOnLine)
mgu>>{
mgu>>  ::MessageBox(pWnd->m_hWnd, "GSM модем не подключен!", "PhoneBook", MB_OK | MB_ICONINFORMATION);
mgu>>  return;
mgu>>}
mgu>>AfxGetApp()->DoWaitCursor(1); // Start of waiting cursor // BeginWaitCursor();
mgu>>


mgu>>...и задумался о пользе выкладывания кода.

AG>конкретно — что здесь тебя смущает?

1. Место объявления переменных: pWnd больше нигде не используется.
2. Локализация: "GSM модем не подключен!", "PhoneBook".
3. Качество комментирования: DoWaitCursor(1); // Start of waiting cursor // BeginWaitCursor();
Re[11]: Гнилая компания белорусского IT рынка
От: AlexGin Беларусь  
Дата: 06.04.16 11:55
Оценка:
Здравствуйте, _Artem_, Вы писали:

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


AG>>конкретно — что здесь тебя смущает?


_A_>По моим замечаниям я так понял возражений нет? Я там их штук 10 написал. Это только начало.

Спасибо, уважаемый _Artem_, за замечания.

Замечания и рекомендации — дельные.
Остановлюсь тут немного подробнее.
Что касается виртуального метода SendSmsMass, то этот метод определён в интерфейсе IGSMDevice (как чисто виртуальный):
class IGSMDevice // It is general GSM-device
{
public:
    virtual long SendSmsMass(ISMSSender* pSender)=0;
}


Он получает указатель на класс "Вид/View" (MFC: Doc/View architecture) — имеется три разных класса "Вид/View",
ниже приведен пример одного из них:
class CSMSMassSendView : public CView, public ISMSSender
{
    DECLARE_DYNCREATE(CSMSMassSendView)

public: // ISMSSender implementation:
    virtual HWND GetSenderHWND() const; 
    virtual HWND GetSenderHistoryHWND() const;
    virtual long GetTotalSections() const; 
    virtual bool IsBlockedRecord(LPCTSTR szName, LPCTSTR szPhone=NULL);
    virtual UINT GetRecordID() const; 
    virtual CString PrepareCurrPart(CString strSmsText, int iCurPart);
    virtual CString GetSmsText() const;
    virtual SMS_MASS_MAP& GetSmsMassMap() const;
    ...
}

Так как в архитектуре Doc/View в MFC (оставим её ущербность, которую уже не исправить), применяются указатели на документ и вид,
то здесь я сделал аналогично. Переходить к ссылке — здесь вряд ли имеет смысл, а проверить в методе указатель (... != NULL) — было бы правильно.

Постепенно я отошел от применения MFC коллекций и строк — везде стараюсь применять STL-овские.
Хотя конечно же, применяя MFC как библиотеку классов, полностью от этого старья не отделаться

Почему такой разный стиль кодирования — где-то список инициализации в конструкторе (как я делаю последние годы),
а где-то все поля класса инициируются в конструкторе — дело в том, что здесь коды,
которые написаны более 10 лет назад. Тот же класс CPBrecord, например, появился в 2003.

В общем — займусь рефакторингом, тем более, что сидя дома (в отсутствии работы) у меня найдётся свободное время.
Отредактировано 06.04.2016 13:05 AlexGin . Предыдущая версия .
Re[11]: Гнилая компания белорусского IT рынка
От: mgu  
Дата: 06.04.16 12:04
Оценка: -1
Здравствуйте, _Artem_, Вы писали:

_A_>По моим замечаниям я так понял возражений нет? Я там их штук 10 написал. Это только начало.


Ви таки антисемит?
Re[11]: Гнилая компания белорусского IT рынка
От: AlexGin Беларусь  
Дата: 06.04.16 12:06
Оценка:
Здравствуйте, mgu, Вы писали:

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


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


mgu>>>Ткнул в первый попавшийся файл (https://github.com/AlexGin/GSM_SMS_Send/blob/master/GSMModemClassic.cpp):


mgu>>>
mgu>>>CWnd* pWnd = AfxGetApp()->GetMainWnd();
mgu>>>if(!bPhoneOnLine)
mgu>>>{
mgu>>>  ::MessageBox(pWnd->m_hWnd, "GSM модем не подключен!", "PhoneBook", MB_OK | MB_ICONINFORMATION);
mgu>>>  return;
mgu>>>}
mgu>>>AfxGetApp()->DoWaitCursor(1); // Start of waiting cursor // BeginWaitCursor();
mgu>>>


mgu>>>...и задумался о пользе выкладывания кода.

AG>>конкретно — что здесь тебя смущает?

mgu>1. Место объявления переменных: pWnd больше нигде не используется.

Насчет pWnd — соглашусь, можно было его не выносить. Просто ранее он использовался еще в нескольких местах метода.
mgu>2. Локализация: "GSM модем не подключен!", "PhoneBook".
Приложение только для местной локализации (для себя и для друзей), по хорошему, если требуется другой язык, эти строки выношу в ресурсы.
mgu>3. Качество комментирования: DoWaitCursor(1); // Start of waiting cursor // BeginWaitCursor();
Тут также соглашусь — этот коммент скорее вообще лишний.
Re[10]: Гнилая компания белорусского IT рынка
От: mgu  
Дата: 06.04.16 12:13
Оценка:
Здравствуйте, AlexGin, Вы писали:

mgu>>
mgu>>CWnd* pWnd = AfxGetApp()->GetMainWnd();
mgu>>if(!bPhoneOnLine)
mgu>>{
mgu>>  ::MessageBox(pWnd->m_hWnd, "GSM модем не подключен!", "PhoneBook", MB_OK | MB_ICONINFORMATION);
mgu>>  return;
mgu>>}
mgu>>AfxGetApp()->DoWaitCursor(1); // Start of waiting cursor // BeginWaitCursor();
mgu>>


mgu>>...и задумался о пользе выкладывания кода.

AG>Приложение PhoneBook — утилита для внутреннего рынка (не требуется многоязыковой поддержки).
AG>Тут даже сильно сказано — просто раздаю эту программку друзьям и знакомым

У вас друзья только одной национальности?

AG>Посему — прятать строки в ресурсный файл здесь, ИМХО, не имеет смысла.

AG>Это только даст дополнительные усложнения.
AG>Принцип KISS — никто не отменял.

Возможно и так, хотя расширяемость -- дело хорошее. Меня больше всего смутило, что сообщение на русском, а заголовок окна -- на английском.
Re[10]: Гнилая компания белорусского IT рынка
От: Kernan Ниоткуда https://rsdn.ru/forum/flame.politics/
Дата: 06.04.16 12:25
Оценка:
Здравствуйте, AlexGin, Вы писали:

AG>Здравствуйте, уважаемый Kernan, Вы писали:


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


AG>>>Если интересно — то пожалуйста:

AG>>>https://github.com/AlexGin/GSM_SMS_Send
K>>Теперь понятно почему не сложилось с геймдевом.

AG>А при чем тут это?

AG>В геймдеве, отсылки SMS не требовалось.
AG>Если можно — поясните пожалуйста, уважаемый Kernan, в чем проблема?
Честно говоря, код читабельный и не настолько плохой, но чтобы вникнуть в него надо разбираться в реализации, а не просто по интерфейсам пройтись и всё станет ясно. Более того, на мой взгляд на С++ так уже давно не пишут (хотя тут похоже С++ 98). Как я понял суть кода (кстати, почему нельзя просто скачать зип проекта со всеми солюшенами и скомпилировать?) это просто мини программа которая открывает ком порт и шлёт туда AT команду + какой-то UI.
AG>Претензии к стилю кода или к идее разбиения кода на классы, интерфейсы и т.д.?
Да, тут тоже проблема. Смешивается логика отправки, обработки, подготовки и каких-то UI-ных вещей. На это указывает, например, использвание std::string и рядышком CString.
Есть ещё штуки вроде:
char* szStr = new char[1024];
memset(szStr, 0, sizeof(char)*1024);
strcpy(szStr, strInfo);

после которого delete я не увидел. Да и вообще, забабахать тут вектор unsigned char надо и не думать.
Или такое
if (abs(iDelta) <= 60) // One minute (60 seconds)
    return true;
else
    return false;

Хотя это можно как-то на автомате нарезать и забить, сам такое делал. Есть приведение типов которые не нужны, например вида retrun (bool) (a <= b). Что-то приводится к int из других типов (подозреваю unsigned).
Опять же можно переабоать так чтобы использовать пару паттернов вроде фабрики, стратегии или команды.
Ну и кончено же пренебреженеи идиомой RAII почти везед. Почему это и зачем? С ней же проще жить...
Sic luceat lux!
Отредактировано 06.04.2016 12:26 Kernan . Предыдущая версия .
Re[11]: Гнилая компания белорусского IT рынка
От: AlexGin Беларусь  
Дата: 06.04.16 12:42
Оценка:
Здравствуйте, mgu, Вы писали:

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


mgu>>>
mgu>>>CWnd* pWnd = AfxGetApp()->GetMainWnd();
mgu>>>if(!bPhoneOnLine)
mgu>>>{
mgu>>>  ::MessageBox(pWnd->m_hWnd, "GSM модем не подключен!", "PhoneBook", MB_OK | MB_ICONINFORMATION);
mgu>>>  return;
mgu>>>}
mgu>>>AfxGetApp()->DoWaitCursor(1); // Start of waiting cursor // BeginWaitCursor();
mgu>>>


mgu>>>...и задумался о пользе выкладывания кода.

AG>>Приложение PhoneBook — утилита для внутреннего рынка (не требуется многоязыковой поддержки).
AG>>Тут даже сильно сказано — просто раздаю эту программку друзьям и знакомым

mgu>У вас друзья только одной национальности?

Это не имеет никакого значения — ни о национальности моих друзей, ни о породе моих собак
Язык приложения — только Русский, посему эти строки и не в ресурсном файле

AG>>Посему — прятать строки в ресурсный файл здесь, ИМХО, не имеет смысла.

AG>>Это только даст дополнительные усложнения.
AG>>Принцип KISS — никто не отменял.

mgu>Возможно и так, хотя расширяемость -- дело хорошее. Меня больше всего смутило, что сообщение на русском, а заголовок окна -- на английском.

Название программы — PhoneBook.
Пока, к сожалению, этот мой творческий проект заморожен.
Вполне возможно — по Вашим замечаниям и рекомендациям — проведу рефакторинг.
Хотя бы для успокоения собственной души

З.Ы. Насчет расширяемости — эти вопросы пока неактуальны (от слова вообще) —
проект заморожен, так как у нас кризис и рассылать сообщения об акциях и мероприятиях — утратило смысл.
Re[12]: Гнилая компания белорусского IT рынка
От: mgu  
Дата: 06.04.16 13:02
Оценка: :)
Здравствуйте, AlexGin, Вы писали:

AG>Название программы — PhoneBook.

AG>Пока, к сожалению, этот мой творческий проект заморожен.

В случае разморозки переименование программы может стать проблематичным:

Re[11]: Гнилая компания белорусского IT рынка
От: AlexGin Беларусь  
Дата: 06.04.16 13:19
Оценка:
Здравствуйте, уважаемый Kernan, Вы писали:

AG>>Если можно — поясните пожалуйста, уважаемый Kernan, в чем проблема?

K>Честно говоря, код читабельный и не настолько плохой, но чтобы вникнуть в него надо разбираться в реализации, а не просто по интерфейсам пройтись и всё станет ясно. Более того, на мой взгляд на С++ так уже давно не пишут (хотя тут похоже С++ 98). Как я понял суть кода (кстати, почему нельзя просто скачать зип проекта со всеми солюшенами и скомпилировать?) это просто мини программа которая открывает ком порт и шлёт туда AT команду + какой-то UI.
AG>>Претензии к стилю кода или к идее разбиения кода на классы, интерфейсы и т.д.?
K>Да, тут тоже проблема. Смешивается логика отправки, обработки, подготовки и каких-то UI-ных вещей. На это указывает, например, использвание std::string и рядышком CString.
K>Есть ещё штуки вроде:
K>
K>char* szStr = new char[1024];
K>memset(szStr, 0, sizeof(char)*1024);
K>strcpy(szStr, strInfo);
K>

K>после которого delete я не увидел. Да и вообще, забабахать тут вектор unsigned char надо и не думать.
K>Или такое
K>
K>if (abs(iDelta) <= 60) // One minute (60 seconds)
K>    return true;
K>else
K>    return false;
K>

K>Хотя это можно как-то на автомате нарезать и забить, сам такое делал. Есть приведение типов которые не нужны, например вида retrun (bool) (a <= b). Что-то приводится к int из других типов (подозреваю unsigned).
K>Опять же можно переабоать так чтобы использовать пару паттернов вроде фабрики, стратегии или команды.
K>Ну и кончено же пренебреженеи идиомой RAII почти везед. Почему это и зачем? С ней же проще жить...

1) Спасибо за замечания, работаю сейчас над ними.
2) Дело в том, что появилась эта программка в 2003 году, поэтому очень много чего здесь именно в стиле C++98. Сначала отправки SMS не было — была только телефонная книга. В 2013 — была добавлена отправка SMS. Пока данный проект — под MSVS-2008.
3) Сейчас планирую провести некоторый рефакторинг и портировать на MSVS-2013. Применить некоторые особенности C++11 — тут также будет полезно!
4) RAII — возможно и упростит тут что-то. Подумаю над этим.
5) Что касается паттернов — подумаю. Насчет фабрики пожалуй да — она сюда просится. Паттерн стратегии — мне пока здесь не очевиден.
Re[8]: Гнилая компания белорусского IT рынка
От: AlexGin Беларусь  
Дата: 06.04.16 13:24
Оценка:
Здравствуйте, mgu, Вы писали:

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


AG>>P.S. С того момента, когда я пришел еще на самое первое собеседование, я (видя атмосферу) уже

AG>>догадывался, что там будет антисемитизм.

mgu>А можно поподробнее про атмосферу? Если что, я сам инвалид 5-й группы и предполагаю, что кадровые антисемиты попросту не приглашают на интервью, увидев фамилию.

ИМХО тут в кадрах сидит вполне адекватный мужичок. Он и пригласил на собеседование.
Так что — антисемитизм, ИМХО, имеет место повыше.
Re[2]: Вы бы поосторожнее
От: AlexGin Беларусь  
Дата: 06.04.16 13:30
Оценка:
Здравствуйте, sharpcoder, Вы писали:

S>Белорусский рынок не такой большой, так откровенно демонстрировать свою неадекватность, вам может выйти боком.

Никакой неадекватности у меня нет и в помине. От слова совсем. В этом посте я просто констатировал факты.
Кроме этого, я прекрасно понимаю, что в 50 лет — мои шансы на трудоустройство программистом малы.
Даже при более чем 10-ти летнем опыте разработки коммерческих приложений.

Здесь, в соседней ветке, человек в 41 год думает — как бы уйти из программирования: http://rsdn.ru/forum/job/6398522
Автор: RussianFellow
Дата: 29.03.16

И это — в Москве, где рынок труда намного шире!
Я же, пока об этом не думаю (да и идти то некуда), просто анализирую насколько я могу быть востребован на рынке IT труда.

Попутно замечу, что название конторы я не указывал.
Ну а узнать свой стиль найма — может и не эта одна беларусская контора.
Отредактировано 06.04.2016 13:45 AlexGin . Предыдущая версия . Еще …
Отредактировано 06.04.2016 13:40 AlexGin . Предыдущая версия .
Отредактировано 06.04.2016 13:34 AlexGin . Предыдущая версия .
Re[9]: Гнилая компания белорусского IT рынка
От: mgu  
Дата: 06.04.16 14:33
Оценка:
Здравствуйте, AlexGin, Вы писали:

AG>>>P.S. С того момента, когда я пришел еще на самое первое собеседование, я (видя атмосферу) уже

AG>>>догадывался, что там будет антисемитизм.

mgu>>А можно поподробнее про атмосферу? Если что, я сам инвалид 5-й группы и предполагаю, что кадровые антисемиты попросту не приглашают на интервью, увидев фамилию.

AG>ИМХО тут в кадрах сидит вполне адекватный мужичок. Он и пригласил на собеседование.
AG>Так что — антисемитизм, ИМХО, имеет место повыше.

Так в чём конкретно заключалась атмосфера? Некошерная архитектура? Или смешивают молочную презентацию с мясной логикой? Так это везде так.
Re[10]: Гнилая компания белорусского IT рынка
От: AlexGin Беларусь  
Дата: 06.04.16 14:40
Оценка:
Здравствуйте, mgu, Вы писали:

AG>>ИМХО тут в кадрах сидит вполне адекватный мужичок. Он и пригласил на собеседование.

AG>>Так что — антисемитизм, ИМХО, имеет место повыше.

mgu>Так в чём конкретно заключалась атмосфера? Некошерная архитектура? Или смешивают молочную презентацию с мясной логикой? Так это везде так.

Совдепия во всем меня натолкнула на мысль, об антисемитизме в верхах компании.
Ну а то что меня, еврея (да еще 50-летнего), там не желают видеть (по надуманным предлогам), я понял когда примерно двое суток была заминка,
после чего и последовал звонок с отказом.
Ладно — считаем эту тему закрытой, что сейчас рассусоливать.
Отредактировано 06.04.2016 14:43 AlexGin . Предыдущая версия .
Re[3]: Вы бы поосторожнее
От: _ABC_  
Дата: 06.04.16 14:44
Оценка: +1
Здравствуйте, AlexGin, Вы писали:

AG>Никакой неадекватности у меня нет и в помине. От слова совсем. В этом посте я просто констатировал факты.

Помимо констатации фактов, в посте наличествует и их интерпретация. И она неадекватна.

AG>Кроме этого, я прекрасно понимаю, что в 50 лет — мои шансы на трудоустройство программистом малы.

AG>Даже при более чем 10-ти летнем опыте разработки коммерческих приложений.
Это не так. Возраст не помеха трудоустройству. Всё равно адекватный работодатель больше чем на
5 лет работы сотрудника никак не закладывается сейчас.

Проблема — неадекватность, комплексы, сложность общения, ярый семитизм.

AG>Здесь, в соседней ветке, человек в 41 год думает — как бы уйти из программирования: http://rsdn.ru/forum/job/6398522
Автор: RussianFellow
Дата: 29.03.16

AG>И это — в Москве, где рынок труда намного шире!
Даже в Москве от программиста требуется наличие профессиональных навыков, в которых нынче 'soft skills'
далеко не на последнем месте. Тут дело не в возрасте.

AG>Попутно замечу, что название конторы я не указывал.

Только выложил прямую ссылку на вакансию. История правок-то всем доступна, даже тем, кто не видел твой
изначальный пост.

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