Re: Рассказ об одной конторе (продолжение)
От: Closer  
Дата: 17.12.20 08:14
Оценка: 11 (2) +3 :)))
Здравствуйте, barn_czn, Вы писали:

[skipped]

Из поста создаётся впечатление что автор сам всё запарол. Объясню почему.

Как я понял, у компании был продукт на WinForms и она планировала его переезд на WPF. Но WPF разработчиков не было или их было мало и глупее автора (меньше опыты работы с WPF) и поэтому его взяли чтобы он начал работы в этом направлении.

Разумно предположить что на начальном этапе этой задачи руководство хотело оценить риски/перспективы перехода на WPF. Смысла давать ему исходники на этом этапе нет никакого (плюс, человек новый и хз как он себя поведёт на испытательном сроке). Сам продукт компании насколько понял у автора был (ну или хотя бы было представление как он выглядит и работает).

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

Прошли бы этот начальный этап и получили бы доступ к исходникам. Плюс постепенно погрузились бы в предметную область самого проекта. А автор почему-то прохладно к этому этапу отнёсся и захотел сразу начать "херачить" новый проект (извиняюсь). Естетсвенно с таким подходом к работе с ним сразу распрощались.

Я вот чего не понимаю, дак это то, почему нельзя задать вопросы руководсву и не узнать почему конкретно нужно делать ту или иную задачу (презентацию например), почему исходники не дают (может опыт какой был негативный в прошлом) и т.п.? Из поста я понял что эти вопросы не задавались (ну или задавались не в явном виде) и автор всё додумал сам. В общем, объясните пожалуйста что мешало задать вопросы напрямую и добиться чётких и внятных ответов на них?

P.S. Плюс, из поста сложилось впечателние что у автора возник стресс после устройства на новую работу (это нормально), но вместо того чтобы его побороть и плавно втянуться в работу он начал капризничать и вести себя не очень хорошо (прыгать выше головы и доказывать вышестоящему начальсту что все вокруг глупее его). Естественно и это тоже сказалось на том что с ним распрощались.
Мы были здесь. Но пора идти дальше. (с) Дуглас Коупленд, Рабы "Микрософт"
Отредактировано 17.12.2020 9:48 Closer . Предыдущая версия . Еще …
Отредактировано 17.12.2020 8:23 Closer . Предыдущая версия .
Отредактировано 17.12.2020 8:21 Closer . Предыдущая версия .
Рассказ об одной конторе (продолжение)
От: barn_czn  
Дата: 15.12.20 09:57
Оценка: 2 (1) :))) :))) :)
Три месяца назад я расстался с работодателем и начал поиски.
Область скилов — .net/десктоп/WPF. Искал удаленку. И тут меня ждало разочарование: спроса почти нет. Все ушло в веб, сервисы, БД,..
Я почти устроился в одну контору в офис как вдруг пришло приглашение в эту злосчастную ООО РогаИКопыта. Эта была удаленка, зп так себе, но вариантов не было и я снова выбрал удаленку.
Очень шустро с меня взяли договоры, подписки о неразглашении, отправка трудовой курьером в Мск. В общем все выглядело серьезно ничто не предвещало беды.

Мне не дали доступ к сорцам ни в первый день, ни в первую неделю, я их не увидел вообще.
Зато в первый же день я попал на корпоративный тренинг "управление рабочим временем". 4 часа какой то знахарь нудел в камеру, спрашивал нас же как управлять этим временем...Мне даже это понравилось, если и дальше так работать это же отлично.

Из общения с непосредственным главным разрабом и моим начальником стало ясно что код требует серьезных переделок (такова была фича, ни мой рвотный рефлекс от открытых паблик полей, List<> повсюду разбросаных, и прочего гавнокода). Окей, но как это делать не имея сорцов? Тут мой начальник придумал — отдельные куски сорцов он стал помещать в отдельные репозитории, которые стал открывать мне.
Отлично, но как в одном солюшене работать с разными репо? Зачем вообще один продукт растаскивать по разным репо? Я недоумевал. В итоге мне предложили это объяснить вышестоящему нач-ву.

Диалог с нач-вом. Я быстро понял что высокое начальство понятия не имеет что такое вижуал студия, что такое версионирование. Начальник имел быдловатую манеру говорить.. сказал что он понимает и примет решение позже.
Ок. А пока мой куратор давал мне задания делать обзоры WPF компонент (приложение было на винформс, планировали переход на WPF). Сколько можно делать обзор докингов? Бесконечно. Я потратил день.
Но нет, с меня просили какие то отчеты, записи, демки.. и даже презентации в поверпоинт. От последнего я совсем охренел и сказал — нет, я больше не могу. Ок, назначили беседу с высоким начальством, презентовать выбор докингов.
Блин, мне это все больше напоминало болото бюджетных контор где высокое начальство не имеет ни малейшей компетенции но очень любит принимать решения. И эти решения всегда мудрее решений специалистов.
Я изложил доводы, и снова напомнил о доступе к сорцам. Меня показательно игнорили. Ни вопрос, лижбы зп платили, подумал я.

Продолжение следует...
--------

Так вот, когда меня кэп-куратор Вова попросил сделать презентацию обзора меня бомбануло. Я был в гневе, как так принять разраба и вторую неделю скрывать от него сорцы. Бомбануло, сказал что его тупое начальство..не помню точно слова.. наверно эти слова задели и Вову. Он долго чтото писал потом стирал потом снова писал в чате. В итоге его реакция была суха и дипломатична — ни надо оскорблений. Конечно ни надо! Но давайте все тогда работать как надо.
Прошло несколько дней, я уже успокоился. Не хотите работать в полную и не надо. Кэп давал какие то мелкие задания, я делал. В понедельник все задания кончились я решил что не буду в очередной раз выпрашивать работу. Надо будет — напишут я всегда на связи. Так прошел день.
Наступил судный день. Звонок. Говорил зам директора (их там много я уже перестал их отличать): у меня плохая новость для вас. Вы не прошли испытательный срок. Никаких нареканий по профессиональной части. Просто не прошли.
Мне остается только догадываться. Толи Вова совершил донос, толи сам обиделся.
Я немного по возмущался но закон на их стороне. Разве что меня смутило то что мне, как бы по доброй воле, предлагали не делать запись о том что я не прошел именно испытательный срок. Я сказал что мне наплевать что там будет записано, на моей памяти ни разу ни одна контора не смотрела в трудовую. На носу НГ, надежды что хоть в этом несчастном 2020м я спокойну проведу НГ выходные — рухнула.
Что это было, зачем это им? Не понимаю, просто шлю проклятья.
Отредактировано 16.12.2020 11:32 barn_czn . Предыдущая версия . Еще …
Отредактировано 16.12.2020 11:32 barn_czn . Предыдущая версия .
Re[7]: Рассказ об одной конторе (продолжение)
От: Homunculus Россия  
Дата: 18.12.20 07:37
Оценка: 3 (1) +6
Здравствуйте, barn_czn, Вы писали:

Самооправдание и глухота к тому, что тебе говорят — отрезает тебе путь к пониманию проблемы и предотвращению подобного в дальнейшем. Продолжай считать себя правым.
На этом у меня все. Разговоры с дубоголовыми всегда безрезультатны.
Re[5]: Рассказ об одной конторе (продолжение)
От: Homunculus Россия  
Дата: 18.12.20 07:26
Оценка: +6
Здравствуйте, barn_czn, Вы писали:

_>Расскажи в чем неадекватность? Прям послушаю.


В том, что ты пришел и сразу же стал считать свое видение разработки единственно верным, что перед тобой сразу должны выложить все исходники. Работодатель так не считал и давал тебе задачи, где исходники не нужны. Его право. Значит имел на то причины. А вот твоя реакция — да, полный неадекват. Так что да, проблема есть, у тебя в голове. И правильно сделали, что турнули.
Re[3]: Рассказ об одной конторе (продолжение)
От: Codealot Земля  
Дата: 18.12.20 16:32
Оценка: +3 -1 :)
Здравствуйте, barn_czn, Вы писали:

_>
_>class A
_>{

_>public int MyInt;
_>public List<int> MyInts;
_>public List<float> Myfloats;

_>}
_>


И в чем ужас?
Ад пуст, все бесы здесь.
Re[2]: Рассказ об одной конторе
От: varenikAA  
Дата: 16.12.20 06:12
Оценка: +4
Здравствуйте, Рома Мик, Вы писали:

РМ>Ну не говоря даже о философских всяких материях, всё равно же когда-то работу искать, как ты это место в резюме поместишь? И что ты будешь делать с опытом, который за это время не получишь?


Пока начальство думает можно смело заниматься самообразованием. Если я правильно понял делать особо нечего.
Это лучще чем ишачить над кодом. Свежие знания лучше лягут на старый опыт.
☭ ✊ В мире нет ничего, кроме движущейся материи.
Re: Рассказ об одной конторе (продолжение)
От: Умака Кумакаки Ниоткуда  
Дата: 18.12.20 04:52
Оценка: +1 :)))
Здравствуйте, barn_czn, Вы писали:

извини, но ты не очень. Мало того что себе помешал заработать, так ещё и уважаемым людям бизнес попортил. Сидел бы себе на удалёнке, занимался бы своими делами, раз в месяц нанимал бы васяна за пивчанский из местного техникума для создания презентации, которую бы презентовали выше по стеку кормушки, и все были бы довольны — васян, ты, твой начальник, начальник твоего начальника, и т.д. Ан нет, гляди-ка, "дайте мне сорцы". Да нет никаких сорцов, и не нужны они, узбагойся.
нормально делай — нормально будет
Re[8]: Рассказ об одной конторе (продолжение)
От: AlexRK  
Дата: 24.12.20 09:15
Оценка: +4
Здравствуйте, Sharov, Вы писали:

K>>Есть мнение, что наружу стоит выставлять интерфейсный тип IList<> вместо конкретного класса List<>. То же самое касается и других стандартных контейнеров типа IDictionary<,> vs Dictionary<,>.


S>Либо readonlycollection, либо Ienumerable<T>.


Там, где надо readonlycollection — readonlycollection. Там, где надо Ienumerable<T> — Ienumerable<T>. Там, где надо List — List. Там, где пофиг — пофиг.
Re: Рассказ об одной конторе
От: Рома Мик Россия http://romamik.com
Дата: 15.12.20 11:10
Оценка: 10 (1) +2
Здравствуйте, barn_czn, Вы писали:

_>Ни вопрос, лижбы зп платили, подумал я.

А время твоей жизни идёт тем временем. Не лучше ли делать что-то более осмысленное?
Ну не говоря даже о философских всяких материях, всё равно же когда-то работу искать, как ты это место в резюме поместишь? И что ты будешь делать с опытом, который за это время не получишь?
Re[3]: Рассказ об одной конторе
От: Рома Мик Россия http://romamik.com
Дата: 16.12.20 08:01
Оценка: +3
Здравствуйте, sergey2b, Вы писали:

S>но в США 7% безработица в РФ думаю будет аналогично в ближайшее время

Я же не говорю сразу увольняться. Но подход "посижу здесь, лишь бы платили" — это путь в никуда.
Re[2]: Рассказ об одной конторе
От: Пофигист Россия  
Дата: 16.12.20 08:16
Оценка: +1 :))
Здравствуйте, Рома Мик, Вы писали:

_>>Ни вопрос, лижбы зп платили, подумал я.

РМ>А время твоей жизни идёт тем временем. Не лучше ли делать что-то более осмысленное?
В такой бессмысленной области экономики, как современное программирование, очень сложно найти что-то осмысленное.
Софт для АЭС, ракет/подлодок/спутников только если писать. Но там наверное уже хардкорные советские инженеры всё написали.
Re[3]: Рассказ об одной конторе (продолжение)
От: Homunculus Россия  
Дата: 18.12.20 07:14
Оценка: +2 :)
Здравствуйте, barn_czn, Вы писали:

_>Проблема есть. Я хз, так и не понял


Ну не дали и не дали. Делал бы что дают, в чем проблема? Глянули бы твою адекватность — там бы и исходники дали. А ты тест на адекватность не прошел
Re[4]: Рассказ об одной конторе (продолжение)
От: barn_czn  
Дата: 18.12.20 18:18
Оценка: +1 -2
Здравствуйте, Codealot, Вы писали:

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


_>>
_>>class A
_>>{

_>>public int MyInt;
_>>public List<int> MyInts;
_>>public List<float> Myfloats;

_>>}
_>>


C>И в чем ужас?


Ни прошел. Гугл к твоим услугам.
Re[4]: Рассказ об одной конторе (продолжение)
От: Bill Baklushi СССР  
Дата: 18.12.20 21:20
Оценка: +1 -1 :)
Codealot:

C>И в чем ужас?

Нарушается принцип сокрытия данных, как одной из частей инкапсуляции.
Модератор-националист Kerk преследует оппонентов по политическим мотивам.
Re[15]: Рассказ об одной конторе (продолжение)
От: amironov79  
Дата: 30.12.20 04:15
Оценка: 5 (1) +1
Здравствуйте, varenikAA, Вы писали:

AA>Т.е. строгости в сишарпе мало, в отличии от его младшего брата F#


Написан явный cast, какие после этого к компилятору вопросы? В F# все тоже самое:
type Status = Open = 0 | Close = 1
let x = enum<Status>(42)
System.Console.WriteLine(x)
Re[3]: Рассказ об одной конторе (продолжение)
От: UPV Украина  
Дата: 24.12.20 06:39
Оценка: 2 (1) +1
Здравствуйте, barn_czn, Вы писали:

_>Задавал. Ответ — политика безопасности.

_>Дело даже ни в том почему. Меня бы устроил любой ответ, даже "ни хотим, ты любопытный".
_>Дело в том — а как вообще работать?

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

Деньги платят и хотят чтобы лекции слушал — почему не послушать? Ну и есть время выучить что-то новое.
Re: Рассказ об одной конторе (продолжение)
От: Codealot Земля  
Дата: 17.12.20 22:45
Оценка: +2
Здравствуйте, barn_czn, Вы писали:

_>мой рвотный рефлекс от открытых паблик полей, List<> повсюду разбросаных


Это как?
Ад пуст, все бесы здесь.
Re[6]: Рассказ об одной конторе (продолжение)
От: barn_czn  
Дата: 18.12.20 07:43
Оценка: -2
H>И правильно сделали, что турнули.

Не правильно. Я ни самый приятный человек. Но дело свое знаю, по крайней мере на ту зп. Допустим я начальник компании. Я принял тебя, ты крутой спец но мерзский в общении чел. Надо сказать что разработчики 90% довольно высокомерный народ. Причем есть корреляция — чем сильнее спец тем он неприятнее в общении. Это факт. Ок, я подозреваю что мы не сработаемся поэтому попридержу сорцы. Ни вопрос. Но я же понимаю что ты крутой спец и должен быть полезен. Значит я должен предоставить необходимое окружение для тебя чтобы ты как то что то делал даже без сорцов. Это они попытались но я простаивал 80%.
Думать что найду еще спеца, и он будет приятный — ну да, вероятность есть какая то.
Re[5]: Рассказ об одной конторе (продолжение)
От: Codealot Земля  
Дата: 18.12.20 21:50
Оценка: +1 -1
Здравствуйте, Bill Baklushi, Вы писали:

BB>Нарушается принцип сокрытия данных, как одной из частей инкапсуляции.


То есть пойнт в том, что не было скрыто что-то, что можно было скрыть? А List<> тут при чем?
Ад пуст, все бесы здесь.
Re[6]: Рассказ об одной конторе (продолжение)
От: Bill Baklushi СССР  
Дата: 18.12.20 22:31
Оценка: -2
Codealot:

BB>>Нарушается принцип сокрытия данных, как одной из частей инкапсуляции.

C>То есть пойнт в том, что не было скрыто что-то, что можно было скрыть? А List<> тут при чем?
Вопрос к топикстартеру. Я понял, что это случайная деталь.
Модератор-националист Kerk преследует оппонентов по политическим мотивам.
Re[7]: Рассказ об одной конторе (продолжение)
От: Codealot Земля  
Дата: 19.12.20 00:17
Оценка: +1 :)
Здравствуйте, Bill Baklushi, Вы писали:

BB>Вопрос к топикстартеру. Я понял, что это случайная деталь.


То есть ты сам не знаешь что имелось в виду, но лезешь разъяснять.
Ад пуст, все бесы здесь.
Re[8]: Рассказ об одной конторе (продолжение)
От: vsb Казахстан  
Дата: 19.12.20 01:19
Оценка: +2
Здравствуйте, Codealot, Вы писали:

_>>Вы очень талантливый юноша.. да, точно, бабка.


C>Так ты сможешь внятно объяснить в чем проблема, или так и будешь надувать щеки?


Мне кажется, в C# проблемы нет. При необходимости этот код рефакторится в properties без изменения клиентского кода.

Вот в Java проблему увидеть можно. Там нет properties и внедрение getter/setter потребует изменения клиентского кода (хоть и примитивного, выполняемого автоматически, но всё же некоторые могут посчитать это проблемой). Хотя и в современной Java многие так пишут, это считается писком моды (а ещё лучше сделать все поля final и инициализировать билдером).
Re[8]: Рассказ об одной конторе (продолжение)
От: Bill Baklushi СССР  
Дата: 19.12.20 12:31
Оценка: -2
Codealot:

BB>>Вопрос к топикстартеру. Я понял, что это случайная деталь.

C>То есть ты сам не знаешь что имелось в виду, но лезешь разъяснять.

Еще один вежливый.
Ну скажи свой вариант, если мой вариант плох.
Модератор-националист Kerk преследует оппонентов по политическим мотивам.
Re[10]: Рассказ об одной конторе (продолжение)
От: koandrew Канада http://thingselectronic.blogspot.ca/
Дата: 23.12.20 21:55
Оценка: +2
Здравствуйте, Sharov, Вы писали:

S>2)Делать свою копию и менять.


Фиговый вариант.
[КУ] оккупировала армия.
Re[8]: Рассказ об одной конторе (продолжение)
От: Closer  
Дата: 24.12.20 10:44
Оценка: +1 -1
Здравствуйте, AlexRK, Вы писали:

ARK>Карго-культ? А что плохого будет, если выставить List вместо IList?


У IList куча реализаций, и бывает потребность их менять не меняя интерфейса. Замена же List на Array например, при необходимости, хорошо если выльется в рефакторинг только вашего кода, а например в случае общих библиотек (особенно если не только ваш код их использует) сломает обратную совместимость и создаст кучу гемороя.

Так что это не карго-культ, а просто практика написания хорошего кода (как и с read-only коллекциями). Опят же, как и всегда, тут надо включать голову т.е. если вы разрабатываете небольшой проект и на 100% уверены что не будете публиковать интерфейсы, то можно и List везде использовать (в крайнем случае сделаете небольшой рефакторинг если потребуется реализацию поменять).


P.S. Вообще это всё уже расжёвано и пережовано 1000 раз (тут например). Так что barn_czn прав посылая всех страждущих знаний в google за такими ответами.
Мы были здесь. Но пора идти дальше. (с) Дуглас Коупленд, Рабы "Микрософт"
Re[9]: Рассказ об одной конторе (продолжение)
От: AlexRK  
Дата: 24.12.20 11:15
Оценка: +2
Здравствуйте, Closer, Вы писали:

ARK>>Карго-культ? А что плохого будет, если выставить List вместо IList?


C>У IList куча реализаций, и бывает потребность их менять не меняя интерфейса. Замена же List на Array например, при необходимости, хорошо если выльется в рефакторинг только вашего кода, а например в случае общих библиотек (особенно если не только ваш код их использует) сломает обратную совместимость и создаст кучу гемороя.


Да-да, замена List на Array с интерфейсом IList — это великолепно.

C>Так что это не карго-культ, а просто практика написания хорошего кода (как и с read-only коллекциями). Опят же, как и всегда, тут надо включать голову т.е. если вы разрабатываете небольшой проект и на 100% уверены что не будете публиковать интерфейсы, то можно и List везде использовать (в крайнем случае сделаете небольшой рефакторинг если потребуется реализацию поменять).


Я про это и говорю. Где надо — там надо. А не "надо прям везде!!1". Из одного только факта наличия поля типа List не следует ровным счетом ничего.

C>P.S. Вообще это всё уже расжёвано и пережовано 1000 раз (тут например). Так что barn_czn прав посылая всех страждущих знаний в google за такими ответами.


Спасибо, но лично я карго-культы давно уже не котирую.
Re[2]: Рассказ об одной конторе (продолжение)
От: barn_czn  
Дата: 17.12.20 19:10
Оценка: +1
Здравствуйте, Closer, Вы писали:

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


C>[skipped]


C>Из поста создаётся впечатление что автор сам всё запарол. Объясню почему.


Я вас понял — новичок должен пострадать. Наверно это ваш опыт, но не мой. Даже когда я был джуном и пришел в очень известную канадскую компанию — мне дали доступ на все сразу после подписания NDA.
И там было что украсть. И так было везде. Где люди хотят работать — там создают условия.

C>Смысла давать ему исходники на этом этапе нет никакого.


Ошибаетесь. До перехода на WPF нужно привести код в божеский вид. А там был гавнокод полный. Я это знаю по обрывкам кода которые мне позволили посмотреть.


C>И всё что хотело начальство на этом начальном этапе дак это то, чтобы автор, например для начала, постепенно разобрался с базовыми элементами управления из которых будет состоять новое приложение


"дак"..)

Дак а как понять что там за базовые не имея сорцов? Или это снова часть страданий для новичка? )


C>Прошли бы этот начальный этап и получили бы доступ к исходникам. Плюс постепенно погрузились бы в предметную область самого проекта. А автор почему-то прохладно к этому этапу отнёсся и захотел сразу начать "херачить" новый проект (извиняюсь). Естетсвенно с таким подходом к работе с ним сразу распрощались.


Ну да, не проявил интереса к предметной области ). Ни проявил почтения ).


C>Я вот чего не понимаю, дак это то, почему нельзя задать вопросы руководсву и не узнать почему конкретно нужно делать ту или иную задачу (презентацию например), почему исходники не дают (может опыт какой был негативный в прошлом) и т.п.? Из поста я понял что эти вопросы не задавались (ну или задавались не в явном виде) и автор всё додумал сам.


Задавал. Ответ — политика безопасности.
Дело даже ни в том почему. Меня бы устроил любой ответ, даже "ни хотим, ты любопытный".
Дело в том — а как вообще работать?

C>P.S. Плюс, из поста сложилось впечателние что у автора возник стресс после устройства на новую работу (это нормально).


Стресс? От чего. Тем более удаленка. У меня возникло дежавю, что я снова в каком нить ФГУП РогаРоссии, где заставляют вставать при входе начальства (я работал в такой маразматичной конторе, и это был ФГУП).
Re[3]: Рассказ об одной конторе (продолжение)
От: Closer  
Дата: 17.12.20 21:19
Оценка: +1
Здравствуйте, barn_czn, Вы писали:

_>Я вас понял — новичок должен пострадать. Наверно это ваш опыт, но не мой.


Я такого не говорил.

_>Даже когда я был джуном и пришел в очень известную канадскую компанию — мне дали доступ на все сразу после подписания NDA.

_>И там было что украсть. И так было везде. Где люди хотят работать — там создают условия.

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

_>Ошибаетесь. До перехода на WPF нужно привести код в божеский вид. А там был гавнокод полный. Я это знаю по обрывкам кода которые мне позволили посмотреть.


Очень размытое описание задачи. Что конкретно нужно было сделать? Просто из ващего описание не понятно что это за код, можно ли его запустить отдельно от проекта, есть ли тесты на него (раз вам доверили рефакторинг) и т.п. Сомневаюсь что вас попросили как-то отрефакторить код который вы даже скомпилировать не сможете. Не, конечно если это так, то выглядит это очень странно и тогда я вас понимаю.

_>Дак а как понять что там за базовые не имея сорцов? Или это снова часть страданий для новичка? )


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

_>Ну да, не проявил интереса к предметной области ). Ни проявил почтения ).


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

_>Задавал. Ответ — политика безопасности.


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

_>Дело даже ни в том почему. Меня бы устроил любой ответ, даже "ни хотим, ты любопытный".

_>Дело в том — а как вообще работать?

Как я написал выше если есть возможность выданный вам код скомпилировать и запустит (хоть напрямую, ещё лучше через тесты), то с этим уже можно работать и рефакторить этот код.

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

_>Стресс? От чего. Тем более удаленка. ...


Новая работа, новые люди, новые правила и т.п.

_> ... У меня возникло дежавю, что я снова в каком нить ФГУП РогаРоссии, где заставляют вставать при входе начальства (я работал в такой маразматичной конторе, и это был ФГУП).


Я пока из вашего описания этого не увидел. Похоже просто были какие-то проблемы с новыми сотрудниками и поэтому появились такие строгие правила. Возможно они такие строгие только на начальной стадии работы в компании.
Мы были здесь. Но пора идти дальше. (с) Дуглас Коупленд, Рабы "Микрософт"
Re: Рассказ об одной конторе (продолжение)
От: Homunculus Россия  
Дата: 18.12.20 05:49
Оценка: +1
Здравствуйте, barn_czn, Вы писали:

И к чему это все?
Ну не подошли друг другу. В чем проблема? Дальше ищи.
Re: Рассказ об одной конторе (продолжение)
От: Elim Garak https://en.wikipedia.org/wiki/Deep_Space_Nine_(fictional_space_station)
Дата: 18.12.20 22:06
Оценка: :)
_>Три месяца назад я расстался с работодателем и начал поиски.
_>Область скилов - .net/десктоп/WPF. Искал удаленку. И тут меня ждало разочарование: спроса почти нет. Все ушло в веб, сервисы, БД,..

ну так надо переучиться на то что востребовано на рынке, не?
просто выкинте .net из планов на будущее и работайте над тем что может быть востребовано в будущем
например освойте яву/котлин уйдите в мобилки.
Sic transit gloria mundi
Re[4]: Рассказ об одной конторе (продолжение)
От: barn_czn  
Дата: 22.12.20 18:28
Оценка: -1
Здравствуйте, Gradiens, Вы писали:

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


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


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


_>>>>мой рвотный рефлекс от открытых паблик полей, List<> повсюду разбросаных


C>>>Это как?



_>>
_>>class A
_>>{

_>>public int MyInt;
_>>public List<int> MyInts;
_>>public List<float> Myfloats;

_>>}
_>>



G>Да вы, батенька, реального легаси не нюхали, раз такие вещи вызывают рвотный рефлекс.


да я и не соревнуюсь в нюхании гавнокода.

G>Из недавнего: я вот тоже столкнулся с такими полями. Контекстно поискал использование вне класса (я же уже знаю, что такие штуки могут использоваться через отражение). Не нашел. А когда сделал приватными — внезапно приложение стало падать в случайных местах. Оказалось, в базе данных были записи с именами этих полей и этих классов. Записи читались из базы, классы инстанцировались, поля проставлялись через отражение.


что то не уловил. Вывод то какой? Гавнокод существует?
Re: Рассказ об одной конторе (продолжение)
От: Sealcon190 Соломоновы острова  
Дата: 23.12.20 07:00
Оценка: +1
Как я понял, автор относится к подвиду программистов "да что тут думать, тут прыгать надо!". А контора расчитывала на несколько другой типаж.

Ну слава богу во всём разобрались до окончания испытательного срока. Фактически каждый остался при своих с минимальными потерями времени. Чего кипишить?
Отредактировано 23.12.2020 7:09 Sealcon190 . Предыдущая версия .
Re[6]: Рассказ об одной конторе (продолжение)
От: koandrew Канада http://thingselectronic.blogspot.ca/
Дата: 23.12.20 18:12
Оценка: +1
Здравствуйте, Codealot, Вы писали:

C>То есть пойнт в том, что не было скрыто что-то, что можно было скрыть? А List<> тут при чем?


Есть мнение, что наружу стоит выставлять интерфейсный тип IList<> вместо конкретного класса List<>. То же самое касается и других стандартных контейнеров типа IDictionary<,> vs Dictionary<,>.
[КУ] оккупировала армия.
Re[7]: Рассказ об одной конторе (продолжение)
От: Sharov Россия  
Дата: 23.12.20 19:39
Оценка: +1
Здравствуйте, koandrew, Вы писали:


K>Есть мнение, что наружу стоит выставлять интерфейсный тип IList<> вместо конкретного класса List<>. То же самое касается и других стандартных контейнеров типа IDictionary<,> vs Dictionary<,>.


Либо readonlycollection, либо Ienumerable<T>.
Кодом людям нужно помогать!
Re[7]: Рассказ об одной конторе (продолжение)
От: Codealot Земля  
Дата: 23.12.20 21:59
Оценка: +1
Здравствуйте, koandrew, Вы писали:

K>Есть мнение, что наружу стоит выставлять интерфейсный тип IList<> вместо конкретного класса List<>. То же самое касается и других стандартных контейнеров типа IDictionary<,> vs Dictionary<,>.


В каких-то случаях это может быть нужно, но делать это всегда — не вижу смысла.
Ад пуст, все бесы здесь.
Re[7]: Рассказ об одной конторе (продолжение)
От: AlexRK  
Дата: 24.12.20 09:13
Оценка: +1
Здравствуйте, koandrew, Вы писали:

C>>То есть пойнт в том, что не было скрыто что-то, что можно было скрыть? А List<> тут при чем?


K>Есть мнение, что наружу стоит выставлять интерфейсный тип IList<> вместо конкретного класса List<>. То же самое касается и других стандартных контейнеров типа IDictionary<,> vs Dictionary<,>.


Карго-культ? А что плохого будет, если выставить List вместо IList?
А мнения всякие есть, без вопросов.
Re[4]: Рассказ об одной конторе
От: _AND Российская Империя За Русский мир! За Русь святую!
Дата: 24.12.20 17:13
Оценка: +1
vsb>Мне кажется, в РФ не может быть 7% безработицы. По простой причине — для того, чтобы не умереть, нужно жильё и еда. Бесплатно деньги в РФ не раздают. И жильё тоже не раздают. Поэтому люди без работы просто умрут.

В деревне вполне, люди в 90-е так и жили. Жильё — частный дом, еда с огорода, дрова напилены в соседнем лесу, на остальные расходы — пенсии пожилых.
Re[5]: Рассказ об одной конторе (продолжение)
От: Gradiens  
Дата: 25.12.20 06:50
Оценка: +1
Здравствуйте, Codealot, Вы писали:

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


G>>Записи читались из базы, классы инстанцировались, поля проставлялись через отражение.


C>Это не легаси, а абсолютно нормальная практика. Предлагаешь вместо этого читать и присваивать все вручную?


Предлагаю, во-первых, использовать ORM а не изобретать велосипед на костылях.
А во-вторых, основная претензия — это не наличие данных, которые переливаются в поля. Это наличие записанных в безе _имен_ полей, классов, пространств. То есть сам маппинг хранится в базе.
И при попытке хоть как-то отрефакторить классы (что-то переименовать, потому что имена вида _OPS_Material_Type раздражают, или переместить) все падает, причем в совершенно непредсказуемых местах.

C>Похоже, что вам с barn_czn предстоит еще очень многое для себя открыть.

И не только нам. Кое-кому другому тоже неплохо было бы не судить опрометчиво. Как говорилось в Адвокате дьявола "тщеславие — мой самый любимый из грехов"
Re[8]: Рассказ об одной конторе (продолжение)
От: Codealot Земля  
Дата: 28.12.20 18:49
Оценка: +1
Здравствуйте, Sharov, Вы писали:

S>Так про это и было написано -- структура класса хранилась в бд. Т.е. что либо поменять без оглядки на содержимое (не структуру) бд нельзя.

S>

S>Из недавнего: я вот тоже столкнулся с такими полями. Контекстно поискал использование вне класса (я же уже знаю, что такие штуки могут использоваться через отражение). Не нашел. А когда сделал приватными — внезапно приложение стало падать в случайных местах. О казалось, в базе данных были записи с именами этих полей и этих классов. Записи читались из базы, классы инстанцировались, поля проставлялись через отражение.


Я просто подумал, что самом деле имеется в виду совпадение имен классов/полей в проге и БД. Слишком косноязычно все сформулировано. Я бы написал просто — "использовалась самопальная кривая ORM".
Ад пуст, все бесы здесь.
Re[13]: Рассказ об одной конторе (продолжение)
От: Codealot Земля  
Дата: 28.12.20 18:53
Оценка: +1
Здравствуйте, varenikAA, Вы писали:

AA>Это источник множества багов. Особенно когда внезапно требуется сменить один тип на другой,а сравниваются не типы конкретные, а какой-нибудь IRecord { int Id {get;set;}.


Есть немало вещей, которые приводят к множеству багов, но эта — даже не в топ 10.

AA>Другой пример enum — алиас к int.

AA>
AA>enum Status{
AA>Open, Close
AA>}
AA>var x = (enum)42;
AA>WriteLine(x); //=> print 42
AA>


AA>сработает. вот такая отличная система типов в типобезопасном языке.


Есть такая проблема в дизайне, но нормальные люди просто не приводят int к enum.
Ад пуст, все бесы здесь.
Re[15]: Рассказ об одной конторе (продолжение)
От: barn_czn  
Дата: 29.12.20 10:49
Оценка: +1
Здравствуйте, varenikAA, Вы писали:

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


S>>Серьезно, а к чему он тогда поощряет?


AA>Обмазаться try/catch и ждать багов и логов от поддержки.


Очень странно это слышать. c# — изначально ЯП с сильной строгой типизаций. Постепенно он стал мультипарадигменным ЯП. Это означает, что каждый может прогать на нем в меру своей испорченности.
Если уж шарп ни поощряет то извини какой ЯП поощряет? Из промышленных ЯП только пож-та.

Обмазаться try/catch — можно в любом языке.

S>>Это не алиас к int. Это именование какого-то целого, не обязательно int


AA>Кажись по умолчанию int если явно не указывать.


Enum и есть более строгая типизация интовых (или других) констант.
Я ни понял к чему пример был. Можно также везде к object приводить туда обратно, это будет даже кому то нравиться. Только шарп тут в чем виноват?
Re[2]: Рассказ об одной конторе
От: sergey2b ЮАР  
Дата: 15.12.20 22:06
Оценка:
Здравствуйте, Рома Мик, Вы писали:

РМ>Здравствуйте, barn_czn, Вы писали:


_>>Ни вопрос, лижбы зп платили, подумал я.

РМ>А время твоей жизни идёт тем временем. Не лучше ли делать что-то более осмысленное?
РМ>Ну не говоря даже о философских всяких материях, всё равно же когда-то работу искать, как ты это место в резюме поместишь? И что ты будешь делать с опытом, который за это время не получишь?


вы несмоненно правы
но в США 7% безработица в РФ думаю будет аналогично в ближайшее время
Re[3]: Рассказ об одной конторе
От: sergey2b ЮАР  
Дата: 16.12.20 14:06
Оценка:
Здравствуйте, Пофигист, Вы писали:

П>Здравствуйте, Рома Мик, Вы писали:


_>>>Ни вопрос, лижбы зп платили, подумал я.

РМ>>А время твоей жизни идёт тем временем. Не лучше ли делать что-то более осмысленное?
П>В такой бессмысленной области экономики, как современное программирование, очень сложно найти что-то осмысленное.
П>Софт для АЭС, ракет/подлодок/спутников только если писать. Но там наверное уже хардкорные советские инженеры всё написали.

более менее нормально в

CAD
обработка видео и звука
секюрети
всякие расчеты и моделирование
IoT
Re[3]: Рассказ об одной конторе (продолжение)
От: varenikAA  
Дата: 18.12.20 04:19
Оценка:
Здравствуйте, barn_czn, Вы писали:



_>Стресс? От чего. Тем более удаленка. У меня возникло дежавю, что я снова в каком нить ФГУП РогаРоссии, где заставляют вставать при входе начальства (я работал в такой маразматичной конторе, и это был ФГУП).



Управа или почтамт? Нормальная контора, просто там кодеры не нужны. Зато презентации там можно научиться делать!
☭ ✊ В мире нет ничего, кроме движущейся материи.
Re[2]: Рассказ об одной конторе (продолжение)
От: barn_czn  
Дата: 18.12.20 07:07
Оценка:
Здравствуйте, Умака Кумакаки, Вы писали:

УК>Здравствуйте, barn_czn, Вы писали:


УК>извини, но ты не очень. Мало того что себе помешал заработать, так ещё и уважаемым людям бизнес попортил.


Удивляет прям логика — попортил ) Да нет, даже несколько полезных вещей сделал, в лагерной обстановке ). Непосредственный кэп был доволен.

УК>Сидел бы себе на удалёнке, занимался бы своими делами, раз в месяц нанимал бы васяна за пивчанский из местного техникума для создания презентации, которую бы презентовали выше по стеку кормушки, и все были бы довольны —


Так я и не требовал паяльником. Говорю — же успокоился и стал ждать цу. Ты мне тоже так себе
Re[2]: Рассказ об одной конторе (продолжение)
От: barn_czn  
Дата: 18.12.20 07:10
Оценка:
Здравствуйте, Homunculus, Вы писали:

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


H>И к чему это все?

H>Ну не подошли друг другу. В чем проблема? Дальше ищи.

Рубрика О работе. Проблема есть. Я пытаюсь понять логику компании. Зачем искать спецов, проводить с ними собесы, тестовые задания давать, если потом им не подходит цвет глаз (условно), тембр голоса, просьбы дать сорцы, или я не знаю что вообще. Ну искали бы просто приятных людей в первую очередь, а потом проверяли скилы. Если не дают сорцы то наверно и скилы не нужны. Я хз, так и не понял
Re[2]: Рассказ об одной конторе (продолжение)
От: barn_czn  
Дата: 18.12.20 07:12
Оценка:
Здравствуйте, Codealot, Вы писали:

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


_>>мой рвотный рефлекс от открытых паблик полей, List<> повсюду разбросаных


C>Это как?



class A
{

public int MyInt;
public List<int> MyInts;
public List<float> Myfloats;

}
Re[4]: Рассказ об одной конторе (продолжение)
От: barn_czn  
Дата: 18.12.20 07:23
Оценка:
Здравствуйте, Homunculus, Вы писали:

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


_>>Проблема есть. Я хз, так и не понял


H>Ну не дали и не дали. Делал бы что дают, в чем проблема? Глянули бы твою адекватность — там бы и исходники дали. А ты тест на адекватность не прошел


Расскажи в чем неадекватность? Прям послушаю.
Re[6]: Рассказ об одной конторе (продолжение)
От: barn_czn  
Дата: 18.12.20 07:35
Оценка:
Здравствуйте, Homunculus, Вы писали:

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


_>>Расскажи в чем неадекватность? Прям послушаю.


H>В том, что ты пришел и сразу же стал считать свое видение разработки единственно верным,


Что за фантазии? Я попросил сорцы. Ни дали. Необходимость сорцов признал непосредственный кеп. Но ничего с этим делать ни стал.

H>Его право. Значит имел на то причины.


Его обязанность предоставить все необходимое для работы, так то.

H>А вот твоя реакция — да, полный неадекват. Так что да, проблема есть, у тебя в голове. И правильно сделали, что турнули.


Так в чем все таки неадекват? Сказать в курилке что начальство придурки? Курилкой в данном случае является чат с куратором.
Re[8]: Рассказ об одной конторе (продолжение)
От: barn_czn  
Дата: 18.12.20 07:44
Оценка:
Здравствуйте, Homunculus, Вы писали:

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


H>Разговоры с дубоголовыми всегда безрезультатны.


Уважаемый, я тебя не оскорблял. Похоже неадекват тут ты. Всего хорощшего
Re[4]: Рассказ об одной конторе (продолжение)
От: barn_czn  
Дата: 18.12.20 18:30
Оценка:
Здравствуйте, varenikAA, Вы писали:

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




_>>Стресс? От чего. Тем более удаленка. У меня возникло дежавю, что я снова в каком нить ФГУП РогаРоссии, где заставляют вставать при входе начальства (я работал в такой маразматичной конторе, и это был ФГУП).



AA>Управа или почтамт? Нормальная контора, просто там кодеры не нужны. Зато презентации там можно научиться делать!


)) от прошлого не скроешься. Помню тебя. Ну это к вам праграмистам по людски боле менее. А мы в лаборатории как ишаки мебеля таскали ) В фейсбуке меня найдешь — там понастальгируем, думаю тоже узнал и вспомнил. Здесь разорвут на куски.
Re[5]: Рассказ об одной конторе (продолжение)
От: Codealot Земля  
Дата: 18.12.20 18:36
Оценка:
Здравствуйте, barn_czn, Вы писали:

_>Ни прошел. Гугл к твоим услугам.


Я так понимаю, у тебя нет другого ответа кроме "мне так одна бабка сказала".
Ад пуст, все бесы здесь.
Re[6]: Рассказ об одной конторе (продолжение)
От: barn_czn  
Дата: 18.12.20 18:44
Оценка:
Здравствуйте, Codealot, Вы писали:

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


_>>Ни прошел. Гугл к твоим услугам.


C>Я так понимаю, у тебя нет другого ответа кроме "мне так одна бабка сказала".


Вы очень талантливый юноша.. да, точно, бабка.
Re[7]: Рассказ об одной конторе (продолжение)
От: Codealot Земля  
Дата: 18.12.20 20:47
Оценка:
Здравствуйте, barn_czn, Вы писали:

_>Вы очень талантливый юноша.. да, точно, бабка.


Так ты сможешь внятно объяснить в чем проблема, или так и будешь надувать щеки?
Ад пуст, все бесы здесь.
Re[3]: Рассказ об одной конторе
От: vsb Казахстан  
Дата: 19.12.20 01:13
Оценка:
Здравствуйте, sergey2b, Вы писали:

РМ>>А время твоей жизни идёт тем временем. Не лучше ли делать что-то более осмысленное?

РМ>>Ну не говоря даже о философских всяких материях, всё равно же когда-то работу искать, как ты это место в резюме поместишь? И что ты будешь делать с опытом, который за это время не получишь?

S>вы несмоненно правы

S>но в США 7% безработица в РФ думаю будет аналогично в ближайшее время

Мне кажется, в РФ не может быть 7% безработицы. По простой причине — для того, чтобы не умереть, нужно жильё и еда. Бесплатно деньги в РФ не раздают. И жильё тоже не раздают. Поэтому люди без работы просто умрут.
Re[9]: Рассказ об одной конторе (продолжение)
От: Codealot Земля  
Дата: 19.12.20 16:48
Оценка:
Здравствуйте, vsb, Вы писали:

vsb>Мне кажется, в C# проблемы нет. При необходимости этот код рефакторится в properties без изменения клиентского кода.


Вот и я тоже так думаю. А ТС просто услышал звон, да не знает где он.
Ад пуст, все бесы здесь.
Re[3]: Рассказ об одной конторе (продолжение)
От: Kernan Ниоткуда https://rsdn.ru/forum/flame.politics/
Дата: 19.12.20 17:13
Оценка:
Здравствуйте, barn_czn, Вы писали:

_>Удивляет прям логика — попортил )

Суть твоей работы не была в написании кода, а ты этого не понял.

_>Так я и не требовал паяльником. Говорю — же успокоился и стал ждать цу. Ты мне тоже так себе

Требовать вообще смысла нет. Ты наймит за з/п и ничего не решаешь, твоя цель просто делать то, что от тебя требуют за з/п. Конечно, есть проблема проф. деградации в таких условиях, но это твоя проблема и решать её тебе, а как ты это будешь делать, через увольнение или через написание кода в рабочее время, это работодателя не касается.
Sic luceat lux!
Отредактировано 19.12.2020 17:22 Kernan . Предыдущая версия .
Re: Рассказ об одной конторе (продолжение)
От: DesWind  
Дата: 19.12.20 18:58
Оценка:
Здравствуйте, barn_czn, Вы писали:

Тут стоит вспомнить эксперимент с группой шимпанзе, водой и бананами: "Так заведено!". Осталось разобраться почему.
Исходя из моего опыта, около 70% правил имеют смысл! А дальше эволюция, а не революция.
Я тоже приходил, "весь в белом"! А как вникаешь, начинаешь понимать почему было сделано именно так. Блин, предшественники тоже, наверное, не дураки были...
Отредактировано 19.12.2020 19:00 DesWind . Предыдущая версия .
Re[3]: Рассказ об одной конторе (продолжение)
От: Gradiens  
Дата: 22.12.20 11:47
Оценка:
Здравствуйте, barn_czn, Вы писали:

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


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


_>>>мой рвотный рефлекс от открытых паблик полей, List<> повсюду разбросаных


C>>Это как?



_>
_>class A
_>{

_>public int MyInt;
_>public List<int> MyInts;
_>public List<float> Myfloats;

_>}
_>



Да вы, батенька, реального легаси не нюхали, раз такие вещи вызывают рвотный рефлекс.

Из недавнего: я вот тоже столкнулся с такими полями. Контекстно поискал использование вне класса (я же уже знаю, что такие штуки могут использоваться через отражение). Не нашел. А когда сделал приватными — внезапно приложение стало падать в случайных местах. Оказалось, в базе данных были записи с именами этих полей и этих классов. Записи читались из базы, классы инстанцировались, поля проставлялись через отражение.
Re[5]: Рассказ об одной конторе (продолжение)
От: Gradiens  
Дата: 23.12.20 13:03
Оценка:
_>что то не уловил. Вывод то какой? Гавнокод существует?

Ну вывод такой, что бывает и такой говнокод, который "нельзя" трогать. И ничего, как-то с ним живем.
Но делать код лучше — это часть нашей специальности.

В твоем примере ты жаловался на открытые поля-коллекции.
Увидел открытое поле — полазил по местам использования — отрефакторил — закоммитил — пилишь свою таску дальше.

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

А прийти и сказать: давайте башенку сломаем и новую построим — много ума не надо.
Re[2]: Рассказ об одной конторе (продолжение)
От: koandrew Канада http://thingselectronic.blogspot.ca/
Дата: 23.12.20 18:17
Оценка:
Здравствуйте, Sealcon190, Вы писали:

S>Как я понял, автор относится к подвиду программистов "да что тут думать, тут прыгать надо!". А контора расчитывала на несколько другой типаж.

Мне кажется, все программисты на заре своей карьеры проходят через такой этап, когда "чего тут думать — копать надо!". Но, как видим, некоторые застревают на этом этапе слишком долго.
[КУ] оккупировала армия.
Re[8]: Рассказ об одной конторе (продолжение)
От: barn_czn  
Дата: 23.12.20 20:10
Оценка:
Здравствуйте, Sharov, Вы писали:

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



K>>Есть мнение, что наружу стоит выставлять интерфейсный тип IList<> вместо конкретного класса List<>. То же самое касается и других стандартных контейнеров типа IDictionary<,> vs Dictionary<,>.


S>либо Ienumerable<T>.


спасибо, хоть ктото. На крайняк вместо List<> выставляют массив.
Re[3]: Рассказ об одной конторе (продолжение)
От: barn_czn  
Дата: 23.12.20 20:21
Оценка:
Здравствуйте, koandrew, Вы писали:

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


S>>Как я понял, автор относится к подвиду программистов "да что тут думать, тут прыгать надо!". А контора расчитывала на несколько другой типаж.

K>Мне кажется, все программисты на заре своей карьеры проходят через такой этап, когда "чего тут думать — копать надо!". Но, как видим, некоторые застревают на этом этапе слишком долго.

Откуда так много тролей? копать , прыгать.. вы через строки читаете? Мне не над чем было ни думать ни копать ни прыгать. По русски пишу — сорцов я так и не увидел.
Re[8]: Рассказ об одной конторе (продолжение)
От: koandrew Канада http://thingselectronic.blogspot.ca/
Дата: 23.12.20 20:46
Оценка:
Здравствуйте, Sharov, Вы писали:

S>Либо readonlycollection, либо Ienumerable<T>.


А если необходимо менять коллекцию из внешнего кода?
[КУ] оккупировала армия.
Re[9]: Рассказ об одной конторе (продолжение)
От: Sharov Россия  
Дата: 23.12.20 21:37
Оценка:
Здравствуйте, koandrew, Вы писали:

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

S>>Либо readonlycollection, либо Ienumerable<T>.
K>А если необходимо менять коллекцию из внешнего кода?

1)Я имел в виду не вместо, а + к IList
2)Делать свою копию и менять.
Кодом людям нужно помогать!
Re[9]: Рассказ об одной конторе (продолжение)
От: Codealot Земля  
Дата: 24.12.20 16:55
Оценка:
Здравствуйте, Closer, Вы писали:

C>Опят же, как и всегда, тут надо включать голову т.е. если вы разрабатываете небольшой проект и на 100% уверены что не будете публиковать интерфейсы, то можно и List везде использовать (в крайнем случае сделаете небольшой рефакторинг если потребуется реализацию поменять).


Именно, надо включать голову, а не лепить интерфейсы везде-везде-везде. Кроме того, остается открытым вопрос, что плохого в "public int MyInt;"
Ад пуст, все бесы здесь.
Re[4]: Рассказ об одной конторе (продолжение)
От: Codealot Земля  
Дата: 24.12.20 18:23
Оценка:
Здравствуйте, Gradiens, Вы писали:

G>Записи читались из базы, классы инстанцировались, поля проставлялись через отражение.


Это не легаси, а абсолютно нормальная практика. Предлагаешь вместо этого читать и присваивать все вручную?
Похоже, что вам с barn_czn предстоит еще очень многое для себя открыть.
Ад пуст, все бесы здесь.
Re[5]: Рассказ об одной конторе
От: vsb Казахстан  
Дата: 24.12.20 23:03
Оценка:
Здравствуйте, _AND, Вы писали:

vsb>>Мне кажется, в РФ не может быть 7% безработицы. По простой причине — для того, чтобы не умереть, нужно жильё и еда. Бесплатно деньги в РФ не раздают. И жильё тоже не раздают. Поэтому люди без работы просто умрут.


_AN>В деревне вполне, люди в 90-е так и жили. Жильё — частный дом, еда с огорода, дрова напилены в соседнем лесу, на остальные расходы — пенсии пожилых.


Это не безработица, это самозанятость.

Ну и если относительно внезапно несколько миллионов людей станут безработными, вряд ли в деревне найдётся место для них всех. Это пока там всё стоит копейки (хотя для безработного даже несколько сотен тысяч рублей может быть неподъёмной ценой), а при возрастании спроса цены улетят в облака. Да и уметь нужно жить в деревне. Одно дело жить имея в кармане денег на несколько лет пропитания или пассивный доход: снесла курочка яичко — хорошо, сдохли все курочки, ну неприятно, купим у соседей яички, а другое дело когда неурожай означает, что у тебя вообще нуль. Особенно с возросшим уровнем преступности. В 90-е с нашими соседями была история, когда приехали воры к ним на дачу, подпёрли дверь вилами, показали ножик забузившему в окне деду, спокойно собрали всю картошку и уехали. Вот тебе и еда с огорода.
Отредактировано 24.12.2020 23:08 vsb . Предыдущая версия .
Re[10]: Рассказ об одной конторе (продолжение)
От: varenikAA  
Дата: 25.12.20 01:39
Оценка:
Здравствуйте, Codealot, Вы писали:

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


C>>Опят же, как и всегда, тут надо включать голову т.е. если вы разрабатываете небольшой проект и на 100% уверены что не будете публиковать интерфейсы, то можно и List везде использовать (в крайнем случае сделаете небольшой рефакторинг если потребуется реализацию поменять).


C>Именно, надо включать голову, а не лепить интерфейсы везде-везде-везде. Кроме того, остается открытым вопрос, что плохого в "public int MyInt;"


Если не нужна реактивность, то вполне сойдет.

Чем меньше кода тем он проще.

насчет коллекций есть хорошая практика делать именованные типа Persons, если уж совсем трушно, то доступ к данным ограничить нужными методами.
Но это же лишняя работа.
А так да реализацию проще будет менять и код опять же станет проще: IList<Person> длиннее Persons в два раза.
В целом в сообществе C# преобладает культура "простых решений", ЯП к этому подталкивает,
если допустим перейти на ФЯП типа F# там уже культура кода гораздо выше, хотя тоже есть Person list,
но в то же время активно используются алиасы, которые делают простым объявление доменных типов

type Persons = Person list
let persons = Persons [
        { 
            Id = 1
            Name = "Alice" }
    ]
☭ ✊ В мире нет ничего, кроме движущейся материи.
Re[4]: Рассказ об одной конторе
От: Glestwid  
Дата: 25.12.20 20:34
Оценка:
vsb>Мне кажется, в РФ не может быть 7% безработицы. По простой причине — для того, чтобы не умереть, нужно жильё и еда. Бесплатно деньги в РФ не раздают. И жильё тоже не раздают.

Но по факту, обеспеченность своим жильем в РФ — наверное, самая высокая в мире. Безо всяких ипотек и пр. форм мозгое.ства. И налоги на него тоже смешные, по сравнению со Штатами особенно.
Re[3]: Рассказ об одной конторе (продолжение)
От: Glestwid  
Дата: 25.12.20 20:39
Оценка:
_>Я вас понял — новичок должен пострадать. Наверно это ваш опыт, но не мой. Даже когда я был джуном и пришел в очень известную канадскую компанию — мне дали доступ на все сразу после подписания NDA.

В этом месте любой банк смотрит на Вас и тихо ржет во все голоса СБ и ДИБ
Re[7]: Рассказ об одной конторе (продолжение)
От: Glestwid  
Дата: 25.12.20 20:43
Оценка:
K>Есть мнение, что наружу стоит выставлять интерфейсный тип IList<> вместо конкретного класса List<>. То же самое касается и других стандартных контейнеров типа IDictionary<,> vs Dictionary<,>.

Ну, это уже на конкурсе строевой подготовки тянуть мысок и нагуталинивать сапоги, по-моему.
Re[5]: Рассказ об одной конторе
От: vsb Казахстан  
Дата: 25.12.20 21:36
Оценка:
Здравствуйте, Glestwid, Вы писали:

vsb>>Мне кажется, в РФ не может быть 7% безработицы. По простой причине — для того, чтобы не умереть, нужно жильё и еда. Бесплатно деньги в РФ не раздают. И жильё тоже не раздают.


G>Но по факту, обеспеченность своим жильем в РФ — наверное, самая высокая в мире.


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

G>Безо всяких ипотек и пр. форм мозгое.ства.


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

G>И налоги на него тоже смешные, по сравнению со Штатами особенно.


Это да, вообще этого не понимаю. В Казахстане то же самое, за квартиру плачу по-моему рублей 50 налогов, за машину около 500. А вот как ИП уже плачу около 50 000, и это ещё если НДС не считать с покупок. Социальное государство.
Re[6]: Рассказ об одной конторе (продолжение)
От: Codealot Земля  
Дата: 25.12.20 21:42
Оценка:
Здравствуйте, Gradiens, Вы писали:

G>Предлагаю, во-первых, использовать ORM а не изобретать велосипед на костылях.


Ты не писал, что там был велосипед. Любой ORM прекрасно подходит под твое описание.

G>А во-вторых, основная претензия — это не наличие данных, которые переливаются в поля. Это наличие записанных в безе _имен_ полей, классов, пространств. То есть сам маппинг хранится в базе.


А про это ты ничего не писал. Если основная претензия в этом — значит, про это и надо было писать.
Ад пуст, все бесы здесь.
Re[11]: Рассказ об одной конторе (продолжение)
От: Codealot Земля  
Дата: 25.12.20 21:46
Оценка:
Здравствуйте, varenikAA, Вы писали:

AA>насчет коллекций есть хорошая практика делать именованные типа Persons, если уж совсем трушно, то доступ к данным ограничить нужными методами.


Зачем? Чтобы тем, кто будет пользоваться этими коллекциями, жизнь медом не казалась?
Мне например регулярно хочется найти автора какого-нибудь NameValueCollection, сложить в сумку паяльник и тиски и поехать преподать ему урок хорошего кодирования.
Ад пуст, все бесы здесь.
Отредактировано 25.12.2020 21:49 Codealot . Предыдущая версия .
Re: Рассказ об одной конторе (продолжение)
От: Niemand Австралия  
Дата: 25.12.20 23:57
Оценка:
Здравствуйте, barn_czn, Вы писали:


_>Что это было, зачем это им? Не понимаю, просто шлю проклятья.


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

отдельно отмечу про powerpoint — у меня такие же диалоги были "что это не входит в мой job description". Закончилось тем, что в job description в "написание документации" дописали "(включая презентации)", но это лишь одна из граней проблемы. Сама же проблема заключается в том, что кроме сферического программирования, есть еще реальный мир, с которым надо как-то кому-то взаимодействовать. Когда компания на старте, то у каждого члена команды есть выбор чем заниматься — менеджментом, комплаенсом, продажами, поддержкой, маркетингом, партнерствами, супортом, етс. Многим нравится контакт с внешним миром и общение с людьми, многим — нет. В этом нет ничего ни хорошего, ни плохого, но когда ты выбираешь кого-то на повышение по должности, то, конечно, будешь брать человека, который умеет общаться с другимим людьми (не обязательно техническими).

Сюда же можно записать реплики про руководство, которое ничего не понимает в программировании. Среди моих знакомых почти все основатели fintech компаний не написали ни одной строки кода в жизни. А зачем, если есть СТО, который умеет говорить человеческим языком?
If the message above is in English — means I'm wasting my work time and work computer to post here. No hard feelings
Re[12]: Рассказ об одной конторе (продолжение)
От: varenikAA  
Дата: 28.12.20 01:32
Оценка:
Здравствуйте, Codealot, Вы писали:

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


AA>>насчет коллекций есть хорошая практика делать именованные типа Persons, если уж совсем трушно, то доступ к данным ограничить нужными методами.


C>Зачем? Чтобы тем, кто будет пользоваться этими коллекциями, жизнь медом не казалась?

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

Я же говорю культура. Кто к чему привык.
На самом деле C# не очень поощряет к созданию системы типов для решения конкретной задачи.
Все держится на примитивах базовой библиотеки.
Это источник множества багов. Особенно когда внезапно требуется сменить один тип на другой,а сравниваются не типы конкретные, а какой-нибудь IRecord { int Id {get;set;}.
По сути, то что должен делать язык программисту приходится делать самому — держать в голове и контролировать всю систему типов конкретной модели.
С появлением рекордов возможно ситуация слегка улучшится, но не кардинально.
Не зря его назвали "СИ".
Другой пример enum — алиас к int.
enum Status{
Open, Close
}
var x = (enum)42;
WriteLine(x); //=> print 42


сработает. вот такая отличная система типов в типобезопасном языке.
☭ ✊ В мире нет ничего, кроме движущейся материи.
Re[7]: Рассказ об одной конторе (продолжение)
От: Sharov Россия  
Дата: 28.12.20 11:16
Оценка:
Здравствуйте, Codealot, Вы писали:


G>>А во-вторых, основная претензия — это не наличие данных, которые переливаются в поля. Это наличие записанных в безе _имен_ полей, классов, пространств. То есть сам маппинг хранится в базе.

C>А про это ты ничего не писал. Если основная претензия в этом — значит, про это и надо было писать.

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

Из недавнего: я вот тоже столкнулся с такими полями. Контекстно поискал использование вне класса (я же уже знаю, что такие штуки могут использоваться через отражение). Не нашел. А когда сделал приватными — внезапно приложение стало падать в случайных местах. О казалось, в базе данных были записи с именами этих полей и этих классов. Записи читались из базы, классы инстанцировались, поля проставлялись через отражение.

Кодом людям нужно помогать!
Re[13]: Рассказ об одной конторе (продолжение)
От: Sharov Россия  
Дата: 28.12.20 11:24
Оценка:
Здравствуйте, varenikAA, Вы писали:

AA>Я же говорю культура. Кто к чему привык.

AA>На самом деле C# не очень поощряет к созданию системы типов для решения конкретной задачи.

Серьезно, а к чему он тогда поощряет?

AA>Другой пример enum — алиас к int.


Это не алиас к int. Это именование какого-то целого, не обязательно int

AA>
AA>enum Status{
AA>Open, Close
AA>}
AA>var x = (enum)42;
AA>WriteLine(x); //=> print 42
AA>


AA>сработает. вот такая отличная система типов в типобезопасном языке.


А вот кстати, дельное замечание. Возможно даже исключение бросать в данном случае.
Кодом людям нужно помогать!
Re[9]: Рассказ об одной конторе (продолжение)
От: Sharov Россия  
Дата: 28.12.20 18:56
Оценка:
Здравствуйте, Codealot, Вы писали:


C>Я просто подумал, что самом деле имеется в виду совпадение имен классов/полей в проге и БД. Слишком косноязычно все сформулировано. Я бы написал просто — "использовалась самопальная кривая ORM".


Я понял, что структура класса хранилась в бд.
Кодом людям нужно помогать!
Re[14]: Рассказ об одной конторе (продолжение)
От: varenikAA  
Дата: 29.12.20 03:34
Оценка:
Здравствуйте, Sharov, Вы писали:

S>Серьезно, а к чему он тогда поощряет?


Обмазаться try/catch и ждать багов и логов от поддержки.


S>Это не алиас к int. Это именование какого-то целого, не обязательно int


Кажись по умолчанию int если явно не указывать.
☭ ✊ В мире нет ничего, кроме движущейся материи.
Re[14]: Рассказ об одной конторе (продолжение)
От: varenikAA  
Дата: 29.12.20 03:46
Оценка:
Здравствуйте, Codealot, Вы писали:

C>Есть такая проблема в дизайне, но нормальные люди просто не приводят int к enum.


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

понятно, что подобные строгости нужны более менее опытным кодерам.
Но рано или поздно человеческий фактор срабатывает.
Т.е. строгости в сишарпе мало, в отличии от его младшего брата F#

type Status = Open | Close
let getStatus v = 
    match v with
    | 0 -> Open
    | 1 -> Close
    | v -> failwithf "%d не является значением типа Status" v

(*
val getStatus : v:int -> Status

> getStatus 1;; =>  val it : Status = Close

> getStatus 0;; => val it : Status = Open

> getStatus 11;; => System.Exception: 11 не является значением типа Status
*)
☭ ✊ В мире нет ничего, кроме движущейся материи.
Re[15]: Рассказ об одной конторе (продолжение)
От: Codealot Земля  
Дата: 29.12.20 16:51
Оценка:
Здравствуйте, varenikAA, Вы писали:

AA>Данные могут откуда угодно прийти, нужно будет вручную проверять. эту проверку легко забыть.


Ты делаешь из мухи слона.
Ад пуст, все бесы здесь.
Re[16]: Рассказ об одной конторе (продолжение)
От: varenikAA  
Дата: 30.12.20 01:41
Оценка:
Здравствуйте, Codealot, Вы писали:

AA>>Данные могут откуда угодно прийти, нужно будет вручную проверять. эту проверку легко забыть.


C>Ты делаешь из мухи слона.


Согласен, но интересно что развитие ЯП движется в сторону более строгой типизации (scala, typescript, kotlin, f# и т.д.).
☭ ✊ В мире нет ничего, кроме движущейся материи.
Re[16]: Рассказ об одной конторе (продолжение)
От: varenikAA  
Дата: 30.12.20 01:57
Оценка:
Здравствуйте, barn_czn, Вы писали:

_>Если уж шарп ни поощряет то извини какой ЯП поощряет? Из промышленных ЯП только пож-та.


F#, например.

_>Обмазаться try/catch — можно в любом языке.


Согласен.
☭ ✊ В мире нет ничего, кроме движущейся материи.
Re[2]: Рассказ об одной конторе
От: cockRoach Австрия  
Дата: 30.12.20 08:47
Оценка:
РМ>Ну не говоря даже о философских всяких материях, всё равно же когда-то работу искать, как ты это место в резюме поместишь? И что ты будешь делать с опытом, который за это время не получишь?
Никак. Пару недель просто пропущу. Но у меня не просят трудовую, тут, конечно, разница.
Re[3]: Рассказ об одной конторе (продолжение)
От: ukrspecs  
Дата: 31.12.20 07:05
Оценка:
Здравствуйте, barn_czn, Вы писали:


_>Рубрика О работе. Проблема есть. Я пытаюсь понять логику компании. Зачем искать спецов, проводить с ними собесы, тестовые задания давать, если потом им не подходит цвет глаз (условно), тембр голоса, просьбы дать сорцы, или я не знаю что вообще. Ну искали бы просто приятных людей в первую очередь, а потом проверяли скилы. Если не дают сорцы то наверно и скилы не нужны. Я хз, так и не понял


Никогда и ничего не просите! Никогда и ничего, и в особенности у тех, кто сильнее вас. Сами предложат и сами все дадут! (с)

Логика у них такая — с вами тяжело работать. У начальства свои планы, у Вовы свои, а вы им постоянно докучали просьбами, жалобами. Есть люди которые вливаются в команду, и становятся ее частью, а есть которые гнут свою линию, без всякой эмпатии.

Я не знаю что это за контора. Возможно непробиваемые старперы, которые сами устали от этого всего, и видя что у вас не горят глаза, отправили домой. Есть такие говнари, с которыми даже святой человек не сработается.

Хорошая новость — что вы получили опыт.
Re: Рассказ об одной конторе (продолжение)
От: RussianFellow Россия http://russianfellow.livejournal.com
Дата: 31.12.20 13:54
Оценка:
barn_czn, просто Вам попалась такая организация. Где начальство--дураки.
Не переживайте сильно, успокойтесь и ищите другую работу. А об этой организации--забудьте.
1613 г. = 2024 г.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.