• Консольное приложение не запускается на других ПК, как исправить?

    GavriKos
    @GavriKos
    Если есть доступ к жтим другим пк - то запустите не даблкликом, а из cmd. Тогда сможете прочитать ошибку - консоль не будет закрываться.
    Ответ написан
    2 комментария
  • Консольное приложение не запускается на других ПК, как исправить?

    @OwDafuq
    1. Запустить через bat'ник и в конце добавить "pause";
    2. Ожидать ввод от пользователя в консоли (Console.ReadKey (ReadLike, etc));
    Ответ написан
    8 комментариев
  • Можно ревью супергрязного(наверное) кода на с#?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Я тоже добрый сегодня.

    Общее впечатление что код - пенопласт. В нем очень много строк но очень мало бизнес логики.

    1) Во первых непонятно где фокусироваться. Смотреть формочки - не интересно они состоят в
    основном из шумящих событий которые радуют глаз но делают очень мало действий. Это как смотреть
    байткод LLVM или Java.

    2) Вот такой комментарий я-бы не писал. Он звучит как капитан-очевидность. И ежу понятно что это Main.

    /// <summary>
            /// Главная точка входа для приложения.
            /// </summary>
            [STAThread]
            static void Main()


    Если твой преподаватель требует - то пускай будет. Но я-бы убрал.

    3) Вот такие название как Classes, надо убрать. Они считаются дурным тоном. У тебя-же есть понимание
    что внутри? Вот прояви фантазию и дай какое-то бизнесовое название. У тебя в названии вообще висит
    газо-анализатор. Используй это.

    4) Вот здесь имеет смысл вводить поясняющую переменную. Это основы рефакторинга
    о которых писал Кериевски.

    Mixtures[mixture].measurementResults[cycle] = gasType == "mixture" ? concentration : Mixtures[mixture].measurementResults[cycle] - concentration;
            }//сохранение текущего результата в конкретный цикл конкретной смеси


    И комментарий должен стоять над кодом а не внизу.

    5) Я не знаю зачем в 21 веке так сложно конкатенировать строку. Это не Си и не Java1.1.

    table.GetControlFromPosition(i, table.RowCount - 1).Text = String.Concat("СКО", ":", Mixtures[i].sko.ToString());


    Вот я специально посмотрел в learn портал https://learn.microsoft.com/en-us/dotnet/csharp/ho... и там пишут что вполне можно брать операцию плюс или стринговую интерполяцию.

    Вобщем старайтесь писать меньше слов. Это - хорошая точка приложения сил для развития как разработчика.
    Ответ написан
  • Можно ревью супергрязного(наверное) кода на с#?

    @OwDafuq
    Вы промазали, это не фриланс, где можно заказать ревью кода.
    Но я сегодня добрый:
    0) ВинФормы не актуальны, извините, переходите в Web или WPF.
    1) Именования: что за Form1, Form2, Form...? Какую смысловую нагрузку они несут?
    2) Classes.cs где нет ничего похожего на названия файла? Имхо, но лучше уж MixtureController сделать отдельным файлом, Mixture так же, отдельным файлом и желательно куда-то в папочки это спрятать (первый статик класс, например, в Services, а второй, например, в Models).
    3) static - зло, тем более если у вас оно используется в форме для контроллов, поддерживать это будет очень больно и сломать будет очень просто. Не используйте static без надобности вообще.
    4) не используйте "+" для конкатенации строк, уже давно есть string.Format, интерполяция, StringBuilder и пр.
    5)
    mixture.cylinderNumber
    в C# принято называть публичные свойства в CamelCase, а не lowerCamelCase.

    За остальной код кто-то другой дополнит
    Ответ написан
    1 комментарий