дурдом
От: undo75  
Дата: 08.04.25 10:21
Оценка: :))
короче стремная контора
на меня сыпют инцеденты.
куча проектов. половина не собирается. везде говнокод типа
try
{
// куча кода
}
catch()
{
// тут кода нет
}


никто не знает где че живет. информацию добываю по крупицам с очень большими проблемами.
задаешь простой вопрос на который можно ответить да-нет-не знаю
отклик день.
кто сталкивался? как вести себя? включить пофигизм?
по всемму коду раскиданы магические числа
переменные с сокращениями. короче так бы код писал ни одного собеса бы не прошел
Отредактировано 08.04.2025 10:23 undo75 . Предыдущая версия .
Re: дурдом
От: CEMb  
Дата: 08.04.25 10:37
Оценка:
Здравствуйте, undo75, Вы писали:


U>короче так бы код писал ни одного собеса бы не прошел


А скоко платят-то?!? Быстрее пиши название конторы!!!

А по делу: ну включи пофигизм, трать "свободное" время на обучение и поиск новой работы.
Re: дурдом
От: bnk СССР http://unmanagedvisio.com/
Дата: 08.04.25 10:55
Оценка: +2 :))
Здравствуйте, undo75, Вы писали:

U>кто сталкивался? как вести себя?


Re: дурдом
От: DiPaolo Россия  
Дата: 08.04.25 11:04
Оценка: +1 :))
Либо перенести во флейм (если истинная цель — покидаться какашками, выпустить пар и показать всем, какие они нехорошие, а ты д'Артаньян и весь в белом).

Либо же:
— успокоиться
— перестать истерить
— конкретно описать по пунктам, что не нравится, почему и своим вопросом

Пока ты просто истеришь без всякой конкретики и описал типичную работу и контору (в том числе из БигТеха).

Такая она, правда-матка
Патриот здравого смысла
Re[2]: дурдом
От: undo75  
Дата: 08.04.25 11:12
Оценка: -1 :)
DP>Пока ты просто истеришь без всякой конкретики и описал типичную работу и контору (в том числе из БигТеха).

DP>Такая она, правда-матка


че за бигтех?
Re[3]: дурдом
От: DiPaolo Россия  
Дата: 08.04.25 11:48
Оценка:
U>че за бигтех?

Ты серьезно или прикидываешься?

https://en.wikipedia.org/wiki/Big_Tech
Патриот здравого смысла
Re: дурдом
От: kov_serg Россия  
Дата: 08.04.25 12:08
Оценка: +1
Здравствуйте, undo75, Вы писали:

U>короче стремная контора

U>на меня сыпют инцеденты.
U>куча проектов. половина не собирается. везде говнокод типа
U>
U>try
U>{
U>// куча кода
U>}
U>catch()
U>{
U>// тут кода нет
U>}
U>

Заведи вспомогательный класс
  типа AppHelper
    public class AppHelper {
        static string shortfilename(string fn) { return fn==null ? "" : Path.GetFileName(fn).ToLower(); }
        static public void log(string fmt, params object[] args) {
            Console.WriteLine(fmt, args);
        }
        static public Func<Exception, string, bool> hook_filter = null;
        static public Action<Exception, string> hook_rethrow = null;
        static string get_location(Exception e) {
            string loc = "";
            var st = new StackTrace(e, true);
            if (st.FrameCount > 0) {
                var f = st.GetFrame(0);
                var m = f.GetMethod();
                loc = String.Format("{0}:{1}:{2} {3}.{4}",
                    shortfilename(f.GetFileName()), f.GetFileLineNumber(), f.GetFileColumnNumber(),
                    m.ReflectedType.FullName, m.Name
                );
            }
            return loc;
        }
        static public void exception(Exception e, string reference) {
            bool skip = false;
            var filter = hook_filter;
            if (filter != null) skip = filter(e, reference);
            if (skip) return;
            var st = new StackTrace(true);
            log("{0}(#{1}): {2}",  e.GetType(), reference, e.Message);
            string tab="";
            for (var ce = e.InnerException;ce != null;ce = ce.InnerException) {
                tab = tab + "  ";
                log("{0}{1}({2}): {3}", tab, ce.GetType(),get_location(ce), ce.Message);
            }
            for (int i = 1;i < st.FrameCount;i++) {
                var f = st.GetFrame(i);
                var m = f.GetMethod();
                log("\t{0}:{1}:{2} {3}.{4}",
                    shortfilename(f.GetFileName()), f.GetFileLineNumber(), f.GetFileColumnNumber(),
                    m.ReflectedType.FullName, m.Name);
            }
            var rethrow = hook_rethrow;
            if (rethrow != null) rethrow(e, reference);
        }
    }

И везде в коде catch() {} замени на catch(Exception e) { AppHelper.exception(e, "unique_name"); }


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

U>задаешь простой вопрос на который можно ответить да-нет-не знаю
U>отклик день.

U>кто сталкивался? как вести себя? включить пофигизм?

U>по всемму коду раскиданы магические числа

Отредактировано 09.04.2025 14:42 kov_serg . Предыдущая версия .
Re: дурдом
От: Sharov Россия  
Дата: 08.04.25 12:11
Оценка:
Здравствуйте, undo75, Вы писали:

U>короче стремная контора

U>на меня сыпют инцеденты.
U>куча проектов. половина не собирается. везде говнокод типа
U>
U>try
U>{
U>// куча кода
U>}
U>catch()
U>{
U>// тут кода нет
U>}
U>


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

U>задаешь простой вопрос на который можно ответить да-нет-не знаю
U>отклик день.
U>кто сталкивался? как вести себя? включить пофигизм?
U>по всемму коду раскиданы магические числа
U>переменные с сокращениями. короче так бы код писал ни одного собеса бы не прошел

Потихоньку приводить в порядок, ставить начальство в известность чем и почему занимаешься.

Упд: выше уже написали, что это как бэ норма. Ничего такого особенного. Потихоньку разгребать, наметить план работ и т.п.
Кодом людям нужно помогать!
Отредактировано 08.04.2025 12:12 Sharov . Предыдущая версия .
Re: дурдом
От: rg45 СССР  
Дата: 08.04.25 12:32
Оценка: +2
Здравствуйте, undo75, Вы писали:

U>короче стремная контора

U>на меня сыпют инцеденты.
U>куча проектов. половина не собирается. везде говнокод типа
U>
U>try
U>{
U>// куча кода
U>}
U>catch()
U>{
U>// тут кода нет
U>}
U>


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

U>задаешь простой вопрос на который можно ответить да-нет-не знаю
U>отклик день.
U>кто сталкивался? как вести себя? включить пофигизм?
U>по всемму коду раскиданы магические числа
U>переменные с сокращениями. короче так бы код писал ни одного собеса бы не прошел

Нужно уметь находить в каждой ситуации положительные стороны. Судя по тому, что ты пишешь, у этого кода нет настоящего хозяина и этим хозяином можешь стать ты. При желании, конечно.
--
Справедливость выше закона. А человечность выше справедливости.
Re[2]: дурдом
От: alzt  
Дата: 08.04.25 18:07
Оценка:
Здравствуйте, rg45, Вы писали:

R>Нужно уметь находить в каждой ситуации положительные стороны. Судя по тому, что ты пишешь, у этого кода нет настоящего хозяина и этим хозяином можешь стать ты. При желании, конечно.


Не факт, что нет, просто может хозяин не считает нужным отвечать всем джунам.
Сейчас ТС что-то сломает, поменяв какую-то неочевидную часть, и хозяин выскажет руководству — кого вы вообще тут наняли?
Re[3]: дурдом
От: rg45 СССР  
Дата: 08.04.25 18:47
Оценка: +1
Здравствуйте, alzt, Вы писали:

A>Не факт, что нет, просто может хозяин не считает нужным отвечать всем джунам.

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

Зато, может, хозяин обнаружится, наконец. Я ж говорю, в каждой ситуации можно найти что-то положительное.
--
Справедливость выше закона. А человечность выше справедливости.
Re[2]: дурдом
От: amironov79  
Дата: 09.04.25 04:05
Оценка: +1
Здравствуйте, kov_serg, Вы писали:


_>И везде в коде catch() {} замени на catch(Exception e) { AppHelper.exception(e, "unique_name"); }


А почему просто не воспользоваться стандартным логгером?

_logger.LogError(e, "skipped exception");
Re: дурдом
От: amironov79  
Дата: 09.04.25 04:07
Оценка:
Здравствуйте, undo75, Вы писали:

U>короче стремная контора

U>на меня сыпют инцеденты.

Деньги то хоть платят?
Re[3]: дурдом
От: kov_serg Россия  
Дата: 09.04.25 04:47
Оценка:
Здравствуйте, amironov79, Вы писали:

_>>И везде в коде catch() {} замени на catch(Exception e) { AppHelper.exception(e, "unique_name"); }


A>А почему просто не воспользоваться стандартным логгером?


A>
A>_logger.LogError(e, "skipped exception");
A>

Потому что помимо логирования иногда надо реагировать на эти исключения, причем выборочно или по определённым правилам.
Отредактировано 09.04.2025 4:48 kov_serg . Предыдущая версия .
Re[4]: дурдом
От: amironov79  
Дата: 09.04.25 06:59
Оценка:
Здравствуйте, kov_serg, Вы писали:

_>Потому что помимо логирования иногда надо реагировать на эти исключения, причем выборочно или по определённым правилам.


Такого в условии не было Но в любом случае реагировать лучше явно в catch.
Re[5]: дурдом
От: kov_serg Россия  
Дата: 09.04.25 08:44
Оценка: 1 (1)
Здравствуйте, amironov79, Вы писали:

A>Такого в условии не было Но в любом случае реагировать лучше явно в catch.

В условии сказано что таких мест чуть более чем дохрена, и сразу такие реакции не написать. Следовательно надо далать это постепенно, выявляя горячие места и последовательно раставляя заплатки.
И расставить подобные вставки можно скриптом. И их можно легко включить и отключить.
А централизованое реагирование позволяет анализировать и воздействовать на происходящее значительно проще.
Отредактировано 09.04.2025 8:45 kov_serg . Предыдущая версия .
Re[6]: дурдом
От: m2user  
Дата: 09.04.25 08:50
Оценка:
А вот эта самописная реализация Exception.ToString() она в каких случаях будет отличаться от встроенной?
Re[7]: дурдом
От: kov_serg Россия  
Дата: 09.04.25 09:05
Оценка:
Здравствуйте, m2user, Вы писали:

M>А вот эта самописная реализация Exception.ToString() она в каких случаях будет отличаться от встроенной?

Это просто прототип, стандартная не информативная. Более того она может быть разной в зависимость от локали.
Re[2]: дурдом
От: bnk СССР http://unmanagedvisio.com/
Дата: 09.04.25 09:15
Оценка: :)
Здравствуйте, kov_serg, Вы писали:

_>Заведи вспомогательный класс типа AppHelper




Это ты этот код писал что ли?
Вообще есть такое буддийское правило — все что имеет суффикс или префикс "Helper" или "Utils" должно быть утилизировано в первую очередь

Вообще обработка ошибок — признак сеньорского кода, так что это нормально.

Но конкретно с вот этим вот выше даже линтер справится.
В смысле, я бы начал с его добавления на сборке (у топикстартера же есть автоматическая сборка, да? ведь есть же?), чтобы хрень с пустым catch хотя бы не пропускало.
Отредактировано 09.04.2025 9:25 bnk . Предыдущая версия . Еще …
Отредактировано 09.04.2025 9:25 bnk . Предыдущая версия .
Отредактировано 09.04.2025 9:24 bnk . Предыдущая версия .
Отредактировано 09.04.2025 9:19 bnk . Предыдущая версия .
Отредактировано 09.04.2025 9:18 bnk . Предыдущая версия .
Re[3]: дурдом
От: amironov79  
Дата: 09.04.25 09:29
Оценка: +1
Здравствуйте, bnk, Вы писали:

bnk>Это ты этот код писал что ли?

bnk>Вообще есть такое буддийское правило — все что имеет суффикс или префикс "Helper" или "Utils" должно быть утилизировано в первую очередь

Tools, Extensions... имя им легион
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.