Deutsch
Germany.ruФорумы → Архив Досок→ Программирование

Кто-нибудь юзает MAC?

2194  1 2 3 4 5 6 7 все
MrSanders коренной житель18.10.22 15:42
NEW 18.10.22 15:42 
в ответ BSDLamer 18.10.22 12:01
напомнило мне как я попал из-за некоторых обстоятельств в уже умирающий мир Novell NetWare

Ага, примерно то же самое. нетварь, ipx/spx, красота.

Нашел у себя книгу по FreeBSD за 1999 год и 4 диска, фряха 4.2!

У меня где-то SuSE 4.что-то там валяется. Куча дисков, 6 что ли. А недавно в кладовке нашел Linux Network Administrator's Guide, 99 или 98 года книжка. И Secrets of Win32 API :) Поставил обе на полку. Чтобы на видеоконференции видно было. Выкинуть же жалко.

alex445 коренной житель18.10.22 17:36
NEW 18.10.22 17:36 
в ответ MrSanders 18.10.22 10:40, Последний раз изменено 18.10.22 17:37 (alex445)
регулярно на месяц уходят на больничный

Пфф, даже у меня в договоре стоит, что я могу рассчитывать на 6 оплачиваемых больничных недель в году. Шесть!


6 недель отпуска, 6 недель больничных, примерно 11 дней праздников, приходящихся на рабочий день. Это 71 рабочий день. И 104 дня выходных. Итого 175 дней из 365 - нерабочих. Почти половина.

alex445 коренной житель18.10.22 17:39
NEW 18.10.22 17:39 
в ответ MrSanders 18.10.22 15:42, Последний раз изменено 18.10.22 17:39 (alex445)
напомнило мне как я попал из-за некоторых обстоятельств в уже умирающий мир Novell NetWare
Ага, примерно то же самое. нетварь, ipx/spx, красота.


Нашел у себя книгу по FreeBSD за 1999 год и 4 диска, фряха 4.2!
У меня где-то SuSE 4.что-то там валяется. Куча дисков, 6 что ли. А недавно в кладовке нашел Linux Network Administrator's Guide, 99 или 98 года книжка. И Secrets of Win32 API :) Поставил обе на полку. Чтобы на видеоконференции видно было. Выкинуть же жалко.

"Диски" это такие блестящие пластиковые кружочки, которые древние люди использовали для обмена информацией? А куда вы их вставляете? У меня уже даже УСБ стики вымирают.

alex445 коренной житель18.10.22 19:38
18.10.22 19:38 
в ответ MrSanders 18.10.22 10:40, Последний раз изменено 18.10.22 19:38 (alex445)
Для любителей IT-экстрима

Щас такое в старом проекте встретил (Сишарп)


if (!BooleanProperty)

{

...

}

else if (BooleanProperty)

{

...

}


И далее ещё одного else нету. Гении писали.

  simplename завсегдатай18.10.22 20:01
NEW 18.10.22 20:01 
в ответ alex445 18.10.22 19:38

Наверное, себя теперь гением мыслишь? "Много ли бедолаге надо"(с)

alex445 коренной житель18.10.22 20:05
NEW 18.10.22 20:05 
в ответ simplename 18.10.22 20:01

Там весь проект такой - из изъёпств на каждом шагу. Чтобы так написать, надо специально стараться. Случайно получиться не может.

BSDLamer Хвостатый Carpal Tunnel18.10.22 21:31
BSDLamer
18.10.22 21:31 
в ответ alex445 18.10.22 17:39

USB-Stick ??? у меня на мэке даже разьема такого лет уже 5 нет кажется

0001, 0010, 0011, 0100, 0101, вышел зайчег погулядь
alex445 коренной житель18.10.22 22:41
NEW 18.10.22 22:41 
в ответ BSDLamer 18.10.22 21:31

Ну Эппл своих пользователей за людей никогда не считала, поэтому сношает их впереди паровоза.

BSDLamer Хвостатый Carpal Tunnel19.10.22 00:19
BSDLamer
19.10.22 00:19 
в ответ alex445 18.10.22 22:41

секс это всегда хорошо, но настоящий.

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

0001, 0010, 0011, 0100, 0101, вышел зайчег погулядь
BSDLamer Хвостатый Carpal Tunnel19.10.22 00:29
BSDLamer
NEW 19.10.22 00:29 
в ответ MrSanders 18.10.22 15:42
Ага, примерно то же самое. нетварь, ipx/spx, красота.

к тому времени IPX уже никто не швырялся :) TCP/IP всех победил. Помню как Novell стала загибаться и последние конвульсии. Зато парти после 8 вечера на CeBIT были вполне нормальные

0001, 0010, 0011, 0100, 0101, вышел зайчег погулядь
Программист коренной житель19.10.22 09:10
19.10.22 09:10 
в ответ BSDLamer 18.10.22 21:31
USB-Stick ??? у меня на мэке даже разьема такого лет уже 5 нет кажется

Значит у тебя какой-то китайский мак :) USB разъемы есть даже не самых актуальных маках: https://www.apple.com/de/mac/compare/

Программист коренной житель19.10.22 09:13
NEW 19.10.22 09:13 
в ответ alex445 18.10.22 19:38
И далее ещё одного else нету. Гении писали.

Предполагаю, что гениальность тут не при чем. Я бы сказал, что тут какие-то странные coding standards. Что-то типа "все ветвления должны быть явными" или как-то так.

alex445 коренной житель19.10.22 09:33
NEW 19.10.22 09:33 
в ответ Программист 19.10.22 09:13, Последний раз изменено 19.10.22 09:52 (alex445)

Тогда if-else достаточно. Тем более, что проверяется булева переменная, у которой всего два варианта может быть.


Я ещё функцию в несколько строк заменил на однострочную


было


bool result = true;

if ((myObject != null) && myObject.BooleanProperty)

{

result = false;

}

return result;


стало


!myObject?.BooleanProperty ?? true;


Или можно было так, без оператора ?? (подошло бы даже для самых ранних версий фреймворка - с использованием оператора ? :)


myObject != null ? !myObject.BooleanProperty : true;


Но тут можно объяснить, что код писали во времена дотнета 2.0, потом проапгрейдили кое-как до 4.х, но сам код не трогали.


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


Если бы даже я писал первый вариант - и то сделал бы проще, типа такого


if ((myObject != null) && myObject.BooleanProperty)

{

return false;

}

else return true;


Но опять же, писали либо гении, либо какие-то замороченные паТТерналисты. Или просто чел фигачил первый попавшийся вариант из головы. Говнокода в этом проекте много - каждая небольшая бизнес-логика расписана на сотни строк - поэтому фигачить надо было в темпе. Сейчас переписываем и буквально выкидываем код тысячами строк - столько там пипец лишнего понаписано. Челы там для самых первых версий ASP.NET (без MVC ещё) написали свой набор веб-контролов, привязки им там придумали, свою ORM, подходящую для нескольких БД, но кривую, косую и очень ограниченную, работающую хитровыепанным способом, заточенную на САМУЮ ПЕРВУЮ версию Hibernate (т.е. своя ORM над кривой первой версией чужой ORM). Маршаллинг-куяршаллинг, динамическое удалённое (на сервере) создание типов (не просто объектов, а типов) по XML-описаниям на клиенте. Формат описаний и прочее - самописное. Т.к. изначальный фреймворк (ASP.NET) - stateless, то внедрена самописная statefull-обёртка для сохранения состояний. Всё крутится типа на сервере приложений, где вращаются созданные бизнес-объекты, а клиентам передаются их "слепки". Что-то типа современных сетевых игр, где игровая ситуация полностью моделируется на сервере и потом клиентам передаётся ограниченный набор данных для отрисовки изображения. Всё это овно тупо не заводится на современном фреймворке, а надо переписать не на дотнет фреймворк, а на новый "просто дотнет", из которого выкинули кучу старых библиотек, и теперь старый код надо либо полностью переписать, либо отказаться от него. Вот от напичканного самописными костылями и чрезмерными усложнениями сервера приложений отказались.


И зачем-то в этом проекте логируется практически каждая более-менее значительная операция. Типа запросил объект из БД - залогировал, что запрошен такой-то айди и кучка дополнительных данных. Ошибка при запросе? - Залогировал. Успешный запрос? - Залогировал. Короче, юзер кнопку нажал - в логи штук 10 строк ушло. А юзер жмёт эти кнопки по 20 раз в минуту. Т.е. в минуту с одного юзера килбайты логов. Это если ошибок нет. Если есть - в разы больше. И таких юзеров на предприятии - сотни и тысячи. Представьте, сколько нужно хранить логов за годы работы такой системы? Жётские диски, наверное, грузовиками завозят.

Программист коренной житель19.10.22 10:17
NEW 19.10.22 10:17 
в ответ alex445 19.10.22 09:33

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


В coding standards записано, что в функции должен быть один выход (одни return). Из-за этого появилась переменная result.

Первая итерация, возможно, была такая:

bool result = true;
if (myObject.BooleanProperty)
{
   какие-то действия

   result = false;
}

return result;


Потом было словлено исключение и код изменился на

bool result = true;
if ((myObject != null) && myObject.BooleanProperty)
{
   какие-то действия

   result = false;
}

return result;


А потом действие убрали и код стал таким, как ты его сюда запостил.


Такое часто случается, когда делаются минимальные изменения и не делается рефакторинг.


alex445 коренной житель19.10.22 10:20
19.10.22 10:20 
в ответ alex445 19.10.22 09:33, Последний раз изменено 19.10.22 10:28 (alex445)

Или например такой бред, как текстовое поле для ввода чисел. Контролы самописные - т.е. есть полный контроль над их поведением. Ну так сделай контрол для ввода лишь чисел, который будет внутри себя отфильтровывать ввод нечисел, иметь ограничения на максимальнео и минимальное значение и прочие удобства. Нет! Мы сделаем один текстбокс на все случаи жизни, а потом на стороне клиента будем писать 30 строк кода, который будет триммить и пытаться парсить текстовый ввод, затем обрабатывать случаи, когда введено отрицательное или нулевое число, и на каждый кейс будет писать длинный лог и выдавать сообщение об ошибке ввода пользователю в гуй. Вместо, ска, простого HTML тега


<input type="number" max="$Model.Max" min="$Model.Min" step="$Model.Step">


где $Model - синтаксис привязок какого-нибудь клиентского веб-фреймворка. Это и без привязок работало в древнем HTML - т.е. впихивать тупой текстбоксовый input и потом героически с ним тра...ся - чистой воды идиотия. Причём вся портянка проверок, что я выше описал - для каждого ска контрола на каждой форме. Не один раз для скажем "поле для целых чисел", а везде и всюду свою логику в формах писали, которая на 99% дублировалась.


Короче, так этот долбаный проект и раздули в 10 раз - до полусотни проектов в солюшене (термины Вижуал Студио) и миллионов строк кода.


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

alex445 коренной житель19.10.22 10:21
NEW 19.10.22 10:21 
в ответ Программист 19.10.22 10:17, Последний раз изменено 19.10.22 10:24 (alex445)
Такое часто случается, когда делаются минимальные изменения и не делается рефакторинг.

И когда кодинговые стандарты не обновляются по мере развития языка и фреймворков (появляются новые языковые конструкции, операторы, новые проёмы проверки на null и прочее), да ещё изначально являются тупыми и ограничивающими.


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

Murr патриот19.10.22 12:11
Murr
NEW 19.10.22 12:11 
в ответ alex445 19.10.22 09:33

то сделал бы проще

-----

Угу... Потом тебя бы тыкнули носом в определение функции и их кодинг стандарт... и были бы 100% правы.

BSDLamer Хвостатый Carpal Tunnel19.10.22 12:40
BSDLamer
NEW 19.10.22 12:40 
в ответ Программист 19.10.22 09:10

угу, круто, только там под USB подразумевают USB4. Такие стики есть ? Тут я не в курсе. Я стиками не пользуюсь уже очень давно.

0001, 0010, 0011, 0100, 0101, вышел зайчег погулядь
alex445 коренной житель19.10.22 13:46
19.10.22 13:46 
в ответ Murr 19.10.22 12:11, Последний раз изменено 19.10.22 13:48 (alex445)
то сделал бы проще
-----
Угу... Потом тебя бы тыкнули носом в определение функции и их кодинг стандарт... и были бы 100% правы.

Как тыкнут, так исправлю. А пока меняю лапше-говнокод на нормальный. Пока мне ни про какие стандарты у них не говорили.


А что, у кого-то есть стандарты кода, основанные на дотнете 2.0 или пусть даже 4.х, которые игнорят все новые операторы и прочее? И даже если проект переписывается на 6.0, то всё равно все должны отказаться от новых возможностей языка и фреймворка?

Программист коренной житель19.10.22 14:25
NEW 19.10.22 14:25 
в ответ BSDLamer 19.10.22 12:40
Такие стики есть ? Тут я не в курсе.

Есть конечно :)

1 2 3 4 5 6 7 все