• Стиль оформления кода в .NET приложениях. Встречался ли вам ад в коде?

    Nipheris
    @Nipheris Куратор тега C#
    Для меня очевидно, что это писали бывшие разработчики на C/C++. Это древняя нотация, многие называют ее венгерской, только тут какой-то извращенный вариант (надо сказать, что и саму венгерку правильно применяли единицы в свое время, большинство не понимало до конца ее смысла). Сейчас так не пишут и на самих плюсах, для шарпа же это моветон. Выдает нотацию n перед именем индекса (это значит именно "индекс", а не int, правда обычно пишут nUnit или nEmployee, а не nIndex) и C перед именемами классов.
    Если есть нормальная IDE, то венгерская нотация нафиг не нужна, код превращается в рябь из смеси сокращений, которые только раздражают

    Совершенно согласен с вами.

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

    Это тоже из плюсов - нормальные люди конечно пользуются неймспейсами, но там они не настолько вездесущи, как в C#, т.к. технология сборки в принципе иная.
    А у вас было подобное? Вы как-то решали эту проблему?

    А это кроме вашей команды во главе с тимлидом и даже с привлечением менеджеров никому не решить. Если вы готовы отрефакторить половину продукта - вперед. Не готовы - лучше не трогайте. Пишите новый код в адекватном стиле. Если бы это был C++, я бы даже вам посоветовал новый код оформлять по правилам проекта, но ЭТИ правила в рамках C# неадекватны совершенно.

    Резюмирую: если нет ресурсов на переработку кода - терпите. Терпение и способность работать с legacy кодом не самого высокого качества - вероятно самая важная черта "программиста в команде". Старый и не самый симпатичный код - это реальность, это так же реально, как и ветхие здания, которые просто так не перестроишь без серьезных вложений.
    Работал в одной организации полтора года, написал сам несколько проектов. код в плане оформления просто чуть ли не идеален. Без всякой чуши типа венгерской нотации и т.д.

    Вам везло в плане качества кода. Теперь не очень повезло. Как сказал AtomKrieg, хорошо что не Кобол (хотя б тогда вам платили еще больше).
    Над методами простые комментарии, а не XML или их вообще нет

    Нормальные XML-комментарии в C# коде это вообще роскошь. Я их вижу только в серьезных библиотеках, а во всяком корпоративном треше так комментятся только самые важные классы в программе (штук 10-15). Радуйтесь, что вообще есть документация. Если есть желание и время - переносите в код, это наверняка будет полезно.
    Ответ написан
    Комментировать
  • Стиль оформления кода в .NET приложениях. Встречался ли вам ад в коде?

    ImmortalCAT
    @ImmortalCAT
    C# loving
    хм
    ед. что я слышал
    • все названия интерфейсов начинаются с заглавной I
    • все приватные элементы, первая буква прописной и '_' : _myYearsLength
    • все открытые - все первые буквы - заглавные MyLittleClass
    • в методах, перегрузки идут прописными
    • любые переменные в перегрузки указываются прописными буквами

    не знаю на сколько это правильно, но я так использую
    Ответ написан
    6 комментариев
  • Как из класса обратиться к элементу формы?

    sivabur
    @sivabur
    Заблокировали просто так!
    Лучше всего в форме сделать публичный метод (или свойство), возвращающий ссылку на textBox1.

    namespace WindowsFormsApplication1
    {
        public partial class Form1 : Form
        {
    .....................
            public TextBox getTextBox()
            {
                return textBox1;
            }
        }
    }
    Ответ написан
    2 комментария
  • Не нужно ли платить деньги за конец использования BizSpark?

    dintsec
    @dintsec
    Маркетолог, копирайтер
    У меня один бизспарк кончился, сейчас второй. Нигде данных карты не указывал, ничего не приходило
    Ответ написан
    5 комментариев
  • Есть ли простой ASP.NET MVC движок для сайта?

    GreenBee
    @GreenBee
    ASP.NET программист
    Просто создайте приложение "ASP.NET WebApplication" и выберите тип "MVC" в Visual Studio.
    Там есть контроллеры, модели, вьюхи, роутинг, модели вью(ViewModel), лэйаут, регистрация, авторизация, редактирование профиля
    Ответ написан
    Комментировать
  • Область применения C, C++, C#?

    Nipheris
    @Nipheris Куратор тега C++
    > Хотел задать вопрос к опытным программистам.

    Ну раз опытным, то думаю разумно поделиться своим опытом. Итак, в чем участвовал за последние 5-6 лет, где были плюсы или шарпы. Три места работы, три команды:
    - десктопная софтинка наподобие 2ГИС - база данных услуг и предприятий с привязкой на карту. C#, карту отрисовывали сами с помощью Direct3D;
    - TCP-сервер GPS-трекеров (такие фиговины, отправляют по GRPS/SMS свои текущие GPS/ГЛОНАСС координаты + всякие плюшки для транспорта - уровень топлива, скорость движения и т.д. - зависит от модели). C++ и обыкновенные сокеты. Сервер небольшой, принимал именно данные от трекеров и писал в базу. Отображалось все на обыкновенном сайте с PHP в бэкенде.
    - веб-сервис, принимающий платежи по WebMoney Merchant и поддерживающий балансы на счетах клиентов. Открывал урл для серверов вебмани, плюс давал простейшие отчеты (проведена транзакция или нет, текущий баланс, транзакции на списание). C# (WCF), данные писались в PostgreSQL.
    - десктопное приложение для проходной - по отпечаткам пальцев входящих/уходящих сотрудников регистрировалось их время пребывания на предприятии. Ну и разумеется - отчеты, агрегации (время отработанное за неделю, опоздания, переработки и т.д.). C# + некоторые части на С++, соединяющие драйвер сканера отпечатков и библиотеку их распознавания по образцам.
    - здоровенное декстопное приложение на C++ + Qt, трейдинговый терминал (более 10к файлов исходников, команда из 30+ человек);
    - довольно объемный ГИС-проект на C#, клиент десктопный (WPF+SharpMap), серверная часть - ASP.NET WebAPI (JSON API).
    - планируется новый ГИС-проект с клиентом уже на C++ и Qt, т.к. существует нереально крутые рендереры на OpenGL от MapBox (тык), а большинству участников текущего проекта плевать - C++ или C#. Qt сейчас развивается очень серьезно, поэтому на сегодняшний день он выровнялся с C#+WPF, а т.к. рендерер на плюсах - то и клиента будем писать на плюсах. На сервере по-прежнему ASP.NET, вероятно новой версии (пока начнем писать, должна успеть выйти в релиз); тех, кто считает, что с ним "сложно в вебе" - аргументы в студию;
    - небольшой сайд-проект - рендер сложного 3D объекта для внедрения в рекламный ролик новой фантастической книги. С++ и OpenGL, написано быстро, дешево и сердито, отрисовано покадрово в PNG-шки, смонтировано в After Effects, все довольны.

    Вывод: поверьте, если инструмент подчиняется вам, то вам открыто много способов решения различных задач. Конечно, для Web-бэкенда C++ будет очень странным выбором, но лично у меня хватает задач и без бесконечных мелких сайтиков.

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

    @vilgeforce
    Раздолбай и программист
    Гомоморфное шифрование.
    Ответ написан
    Комментировать
  • Какой вы используете профайлер для ASP MVC проектов?

    @dmitryKovalskiy
    программист средней руки
    Пользуюсь Profiler-ом из комплекта поставки MS SQL. вам не подходит?
    Ответ написан
    1 комментарий
  • Какая доля языков в BakcEnd-е Web Enterprise по количеству проектов?

    gadfi
    @gadfi
    https://gamega.org
    java и c# с успехом тырят друг у друга удачные и не очень удачные решения.
    доводы про ось, среду разработки и тд считаю высосанными из пальца ─ так как энтерпарайз, то как правило платит контора, а для обучения и так все бесплатно.
    с# много плюшек и сахара, такого никогда не будет в java
    java прекрасная обратная совместимость, такого никогда не будет в c#

    если не знаете что выбрать, послушайте Дмитрий Ковальский кидайте монету )
    Ответ написан
    Комментировать
  • Что выбрать ASP.NET MVC или SharePoint для Enterprise?

    GreenBee
    @GreenBee
    ASP.NET программист
    SharePoint позволяет легко и быстро реализовать многие вещи. Но стоит учесть:
    1. SharePoint - это больше и страшное ASP.NET WebForms приложение. Что бы кто не говорил, а ASP.NET WebForms будет постепенно отмирать. Хочешь ли ты изучать этого динозавра?
    2. Очень страшный HTML, который будет достаточно проблематично модифицировать. Например, тебе надо будет сделать версию для мобильных устройств.
    3. Очень мало хорошей документации. Часто на твои вопросы ты будешь находить НЕПРАВИЛЬНЫЕ ответы.
    4. Система списков взорвет твой мозг. Куча ненужных полей. Куча имен у одного поля (StaticName, InternalName) причем разные функции используют разные имена.
    5. Неочевидное поведение некоторых вещей. Рассказывать долго. Просто поверь на слово.
    6. Закрытость. Если вдруг надо что-то починить... то не сможешь.

    Мой совет: если функционал SharePoint на 100% покрывает требования вашей организации (именно 100%, не 99,9% даже), то можете пробовать. В противном случае лучше пишите с нуля. Потому что иногда даже мелкие изменения требуют огромного количества кода.
    Ответ написан
    Комментировать
  • Чем отличается разработка ASP.NET MVC от ASP.NET API?

    GreenBee
    @GreenBee
    ASP.NET программист
    В MVC 6 WEBAPI уже встроен. Так что принципиальных отличий нет
    Ответ написан
    5 комментариев
  • Какая доля языков в BakcEnd-е Web Enterprise по количеству проектов?

    GreenBee
    @GreenBee
    ASP.NET программист
    Несколько лет назад Java очень сильно рулил в энтерпрайз сегменте. Но сейчас майкрософт сделал все, чтобы .NET стал как минимум не хуже.

    Если выбор между Java и .NET, то я однозначно рекомендую .NET, т.к. на данный момент он развивается гораздо быстрее, имеет прекрасную поддержку и документацию, бесплатную качественную среду разработки, перспективы реальной кроссплатформенности. На стороне .NET маркетинг, готовые решения, новейшие технологии.

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

    Однако не стоит забывать, что существуют и другие языки. Например, Python. Да, он медленнее, но очень часто "узкие места" просто реализуют на C и все становиться прекрасно.
    Ответ написан
    4 комментария
  • Чем отличается разработка ASP.NET MVC от ASP.NET API?

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    отдачей результата.
    В первом случае вы по умолчанию получаете html, во втором json или xml.
    Ответ написан
    4 комментария
  • Чем/как шифровать ноутбук?

    @Taksist410
    Ответ написан
    Комментировать
  • Как соединить дескотпное приложение и базу данных SQL Server, лежащую в облаке Azure?

    @SZolotov
    Asp.net core, MAUI,WPF,Qt, Avalonia
    Можно, но есть проблема: к базе можно подконектиться только если прописать IP-адрес клиента в специальной панели. Т.е. если у вас 1-5 пользователей будет можно конектиться напрямую, а если больше - лучше делать WCF или REST API сервис. У меня, например, Azure Mobile Services завязан на SQL и вся работа через Web API
    Ответ написан
    3 комментария
  • Что выбрать ASP.NET MVC или SharePoint для Enterprise?

    @ejikfast
    У шарика своя идеология, которую придется учитывать в разработке. Как уже сказал Виктор Бузин шарик - это танк и в нем есть многое, хотя не все полезное.
    Если займетесь шариком, то учтите - это не база данных. Сложные запросы к данным (с кучей связей) вам не сделать. Для аналитики лучше использовать другой инструмент.
    Ответ написан
    1 комментарий
  • Перевод из десятичной в двоичную и обратно на C#?

    xkeirainx
    @xkeirainx
    Фулстэк энтерпрайз разной степени кровавости
    Почитайте про форматирование строк на официальном сайте, и выберите реализацию, которая вам подойдёт больше.
    Ответ написан
    Комментировать
  • Как получить UserName по UserId в ASP MVC 5?

    @dmitryKovalskiy
    программист средней руки
    1) Засунуть во ViewBag
    2) Засунуть в Модель для View
    3) Добавить нужные using и колупать HttpContext.Current(не советую так делать)
    4) У класса Модели сделать метод GetUserName - который колдует,шаманит и хоть как-то да вытащит нужный параметр.
    Ответ написан
    Комментировать