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

Region C# хорошо или плохо?

2003  1 2 3 4 5 6 7 8 все
Программист коренной житель10.07.19 09:02
NEW 10.07.19 09:02 
в ответ Ashka_hash46 10.07.19 08:45

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

#81 
Ashka_hash46 патриот10.07.19 09:10
Ashka_hash46
NEW 10.07.19 09:10 
в ответ Программист 10.07.19 09:02

Да я ж, как раз, согласна)))) Мне удобно, потому что привычно)))

Общественное мнение формируют не самые умные, а самые болтливые
#82 
Murr_0002 знакомое лицо10.07.19 09:45
Murr_0002
NEW 10.07.19 09:45 
в ответ AlexNek 09.07.19 23:47, Последний раз изменено 10.07.19 09:46 (Murr_0002)

А определение неработающего кода мона?

-----

Ну за что награды раздают - то и есть...


то моё это "С" или "&& C"

-----

Звездюлину за это получил? Если нет - пофиг чье...

#83 
Murr_0002 знакомое лицо10.07.19 09:47
Murr_0002
NEW 10.07.19 09:47 
в ответ AlexNek 09.07.19 23:50

буквально сегодня поймал чела

-----

Ну так в полиси носом ткнул, награды выдал - пусть дальше пашет...

#84 
MrSanders старожил10.07.19 12:43
NEW 10.07.19 12:43 
в ответ AlexNek 10.07.19 00:03
А с каким именно, как его быстро найти? И это не пара человек в одном офисе.

Ну, с тем кто внёс изменения, которые приводят к мёрж конфликту. Смотрим какой коммит последним менял строку, смотрим автора коммита. Профит.

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

1. Поговорил 2. Запретил ему мёржить в мастер (другие могут замёржить его ветку после ревью, приват свой код пока ревьюер не будет доволен). 3. Убрал из команды 4. Уволил

пока по быстрому, что идея была понятна

Ааа.. Понял. Жертва решарпера. А не надо код во всём файле пересортировывать, если 2 строчки меняете. С точки зрения гита вы поменяли не "50-ю и 250-ю строку" а "все строки с 1 по 3.000" Keep your changes small and comprehensible.

#85 
Программист коренной житель10.07.19 14:03
NEW 10.07.19 14:03 
в ответ AlexNek 10.07.19 00:03
пока по быстрому, что идея была понятна

1) у тебя изменены все строчки, кроме фигурных скобок

2) кто и зачем менять порядок функции?

3) даже такое изменение можно сравнительно легко замерджить BeyondCompare'ом :) странно, что вы разорились на решарпер и не разорились на действительно полезное приложение :)

#86 
AlexNek патриот11.07.19 22:02
AlexNek
NEW 11.07.19 22:02 
в ответ Ashka_hash46 10.07.19 08:45
Но за год настолько привыкла к этим регионам

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

У него каждый log.Debug обвернут в регион и почти каждая функция,... в которой еще по несколько регионов. Брр.


да что уж там, даже лицензию на меня приобрести пожмотились

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

Купил персональную лицензию. На все тулзы лицензия на разработчика+коммерческое использование.

#87 
AlexNek патриот11.07.19 22:09
AlexNek
NEW 11.07.19 22:09 
в ответ Программист 10.07.19 09:02
Я думаю, что партиал не может быть заменой регионам

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

Теперь просто открываешь нужный файл и делаешь все что хочешь, при этом всё видно прямо в дереве солюшина, какие есть "регионы".

#88 
AlexNek патриот11.07.19 22:18
AlexNek
NEW 11.07.19 22:18 
в ответ MrSanders 10.07.19 12:43
Смотрим какой коммит последним менял строку

и как его быстро найти? Среди многих, многих коммитов? Когда даже для того чтобы найти свои изменения приходится делать фильтр по ветке и по коммитеру.


1,2,3,4...

ну и кто захочет иметь подобные проблемы, чтобы делать всё "правильно"?


Жертва решарпера

отчего именно жертва? В "правильном" коде таких проблем не возникнет. Это проблема первого прохода, когда везде бардак.

Да даже и вручную такое может быть когда начинаешь существующие регионы анализировать.


#89 
AlexNek патриот11.07.19 22:20
AlexNek
NEW 11.07.19 22:20 
в ответ Программист 10.07.19 14:03
даже такое изменение можно сравнительно легко замерджить BeyondCompare'ом

Может научите как, если таких функций не 2 смущ

и кто сказал что его нету?

#90 
anly коренной житель11.07.19 23:11
anly
NEW 11.07.19 23:11 
в ответ AlexNek 11.07.19 22:02, Последний раз изменено 11.07.19 23:23 (anly)
функция,... в которой еще по несколько регионов. Брр.
ну это уже перебор. Меня "бог миловал" - ни разу не видел чтоб внутри функции регионы были.

Наверно это делают те что не любят функции и в результате они у них функция в 10000 строк разбитых на регионы.

Я же люблю функции, поэтому предпочитаю чтоб функция никогда не вмещала больше строк чем вмещается в экран (и это крайний случай, а чем она меньше тем лучше).

Проклят нарушающий межи ближнего своего (Втор.27:17)
#91 
AlexNek патриот11.07.19 23:40
AlexNek
NEW 11.07.19 23:40 
в ответ anly 11.07.19 23:11
ни разу не видел чтоб внутри функции регионы были.

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

Но сразу отстал, как понял что я не любитель сего дела.

Функции не такие уж и большие, но регионы везде где только можно, если не забуду примерчик скопирую.

Да вот, в начале функции лог и в конце лог и оба в регионах. Похоже у него регионы вместо комментариев.

#92 
anly коренной житель11.07.19 23:58
anly
NEW 11.07.19 23:58 
в ответ AlexNek 11.07.19 23:40, Последний раз изменено 12.07.19 00:18 (anly)
потому как он мне тоже регионы сиильно предлагал.
видимо это мышление такое.

По идее, хорошо ли это мышление нужно судить только по результату. (работает ли программа) и по мобильности (легко ли и быстро автор может модифицировать код без сайд эффектов).

Мне конечно такой код представляется не мобильным. Но может только потому что у меня другое мышление?...

....

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

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

Еще его любимый шпрух: Невер тач раннинг сустем. Поэтому изменения с репозиротия он берет чем реже тем лучше, чтоб не навредить своей работе.

Я же предпочитаю брать апдейтить с репозитория почаще (минимум раз в день).

У нас разные мышления!

Проклят нарушающий межи ближнего своего (Втор.27:17)
#93 
Программист коренной житель12.07.19 08:40
NEW 12.07.19 08:40 
в ответ AlexNek 11.07.19 22:09
Но есть любители делать большие классы, а в них регионы "обработка прямоугольников", "обработка окружностей" и т.п. Вот именно для этого случая. Как первый шаг.Теперь просто открываешь нужный файл и делаешь все что хочешь, при этом всё видно прямо в дереве солюшина, какие есть "регионы".

Ага, а потом у тебя дерево вида:

SomeClass.cs

SomeClass.Rect.cs

SomeClass.Circ.cs

SomeClass.Private.cs

SomeClass.IEnumerable.cs

SomeClass.ISomeOtherInterface.cs

и еще десяток файлов, которые при этом имеют кучу перекрестных ссылок. Разбираться в таком будет то еще удовольствие ;) Уж лучше регионы :D

#94 
Программист коренной житель12.07.19 08:46
NEW 12.07.19 08:46 
в ответ AlexNek 11.07.19 22:20
Может научите как, если таких функций не 2 смущ

У BeyondCompare есть "Align with" - F7 совмещяешь 2 функции и все дела

#95 
Murr_0002 знакомое лицо12.07.19 10:06
Murr_0002
NEW 12.07.19 10:06 
в ответ AlexNek 11.07.19 22:02

У него каждый log.Debug обвернут в регион и почти каждая функция...

------

Слишком хорошо - тоже не хорошо.

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

Но читать - не удобно.


А логер у меня тоже обернут в регион. Единственное - не завернул каждый log.Debug v #if DEBUG.

#96 
Murr_0002 знакомое лицо12.07.19 10:10
Murr_0002
NEW 12.07.19 10:10 
в ответ AlexNek 11.07.19 22:09

всё видно прямо в дереве солюшина

------

Я тут как-то приводил свой подход к данной проблеме:

- общий партиал (не намеспасе) класс.

- по-функционально - внутренние классы, каждый в своем файлике.

Непривычно... иногда сам путаюсь... но много удобнее всего виденного.

#97 
Murr_0002 знакомое лицо12.07.19 10:13
Murr_0002
NEW 12.07.19 10:13 
в ответ anly 11.07.19 23:11

ни разу не видел чтоб внутри функции регионы были

-----

Когда будет большой объем логинга и требование убрать его в релизе - порадуешься такой возможности.

#98 
Murr_0002 знакомое лицо12.07.19 10:19
Murr_0002
NEW 12.07.19 10:19 
в ответ Программист 12.07.19 08:40

Разбираться в таком будет то еще удовольствие

-----

А что мешает сунуть всю группу в отдельную папку?

У меня - 700+ таблиц и требуется столько же их представлений в ДАЛе.

Плюс - СКЛ - со старым Ораклом ЕФ6 не работает.

Плюс - бизнес-объекты

Плюс - компоненты бизнес-объектов.

Плюс...

Если это все лежит в корне солюшена - мрачно. А по папочкам - не так уж и страшно.

#99 
Программист коренной житель12.07.19 12:42
NEW 12.07.19 12:42 
в ответ Murr_0002 12.07.19 10:19
А что мешает сунуть всю группу в отдельную папку?

Тогда получится миллио папок :D Потом тоже фиг найдешь где что :)

1 2 3 4 5 6 7 8 все