Запитання з тегом «c#»

C # - це багатопарадигмна керована об'єктно-орієнтована мова програмування, що збирається сміттям, створена Microsoft паралельно з платформою .NET

12
Невже ловити загальні винятки насправді погано?
Я зазвичай згоден з більшістю попереджень про аналіз коду, і я намагаюся їх дотримуватися. Однак мені з цим важче: CA1031: Не вловлюйте загальні типи виключень Я розумію обґрунтування цього правила. Але на практиці, якщо я хочу вжити однакових дій незалежно від кинутого винятку, чому я б поводився з кожним конкретно? …
57 c#  design  exceptions 

6
Коли використовувати слабкі посилання в .Net?
Я особисто не стикався з ситуацією, коли мені потрібно було використовувати тип WeakReference в .Net, але, мабуть, вважається, що його слід використовувати в кешах. Д-р Джон Харроп висловив дуже хорошу справу проти використання WeakReferences у кешах у своїй відповіді на це запитання. Я також часто чув, як розробники AS3 розмовляють …

7
Принцип єдиної відповідальності - як я можу уникнути фрагментації коду?
Я працюю над командою, де керівник команди є щирим прихильником принципів розвитку SOLID. Однак йому не вистачає великого досвіду виведення складного програмного забезпечення з дверей. У нас є ситуація, коли він застосував SRP до того, що вже було досить складною базою коду, яка тепер стала дуже сильно фрагментованою і важкою …

8
Чому статичний основний метод у Java та C #, а не конструктор?
Я шукаю остаточну відповідь від первинного чи вторинного джерела, чому (особливо) Java та C # вирішили використовувати статичний метод в якості точки входу, а не представляти екземпляр програми екземпляром Applicationкласу (з точкою введення будучи відповідним конструктором). Передумови та деталі мого попереднього дослідження Про це запитували раніше. На жаль, існуючі відповіді …
54 java  c#  history  entry-point 

2
Чому "недійсний" не дозволений як загальний тип у C #
Які дизайнерські рішення стверджували на користь того, що їх voidне можна було сконструювати та не допустити як загальний тип? Зрештою, це просто спеціальний порожній structі уникнув би загального ПДФА, який мав чітких Funcта Actionделегатів. (C ++ дозволяє явні voidповернення та дозволяє voidяк параметр шаблону)

11
Я не розумію, як TDD допомагає мені отримати гарний дизайн, якщо мені потрібна конструкція, щоб почати її тестувати
Я намагаюся обернути голову навколо TDD, зокрема частини розробки. Я переглянув деякі книги, але ті, з яких я знайшов, в основному стосуються тестової частини - історії NUnit, чому тестування хороше, Red / Green / Refactor та як створити калькулятор струн. Хороший матеріал, але це "просто" модульне тестування, а не TDD. …
50 java  c#  .net  tdd 

7
Керування та організація масово збільшеної кількості занять після переходу на SOLID?
Протягом останніх декількох років ми поступово переходимо до прогресивно вдосконаленого письмового коду, кілька кроків дитини одночасно. Ми нарешті починаємо переходити на щось, що принаймні нагадує СОЛІД, але ми ще не зовсім там. З моменту переходу, одна з найбільших скарг розробників полягає в тому, що вони не витримують експертного огляду та …

11
Чому важливі /// блоки коментарів?
Хтось одного разу сказав, що ми повинні префіксувати всі наші методи /// <summary>блоками коментарів (C #), але не пояснив чому. Я почав їх використовувати і виявив, що вони мене дуже дратували, тому перестав їх використовувати, за винятком бібліотек та статичних методів. Вони громіздкі, і я завжди забуваю їх оновлювати. Чи …
49 c#  comments 

3
Яка краща практика - хелперні методи як екземпляр чи статичний?
Це питання є суб'єктивним, але мені було просто цікаво, як більшість програмістів підходить до цього. Зразок нижче наведений у псевдо-C #, але це має стосуватися також Java, C ++ та інших мов OOP. У будь-якому разі, коли пишу хелперні методи на своїх заняттях, я схильний оголошувати їх статичними і просто …

9
Чому певний час (справжній) цикл у конструкторі насправді поганий?
Хоча загальним питанням, мій обсяг є скоріше C #, оскільки я знаю, що такі мови, як C ++, мають різну семантику щодо виконання конструктора, керування пам'яттю, невизначеної поведінки тощо Хтось задав мені цікаве запитання, на яке мені було нелегко відповісти. Чому (або це взагалі?) Вважають поганим дизайном, щоб дозволити конструктору …
47 c#  architecture 

12
Уникати вуду "goto"?
У мене є switchструктура, яка має декілька справ для вирішення. switchПрацює над enumякою ставить питання про дублювання коду через об'єднані значення: // All possible combinations of One - Eight. public enum ExampleEnum { One, Two, TwoOne, Three, ThreeOne, ThreeTwo, ThreeOneTwo, Four, FourOne, FourTwo, FourThree, FourOneTwo, FourOneThree, FourTwoThree, FourOneTwoThree // ETC. …

3
Чому C # допускає властивості в інтерфейсах?
У C # діє такий код interface I{ int property{get;set;} } Що для мене не має сенсу. Це, здається, порушує один з найважливіших принципів інтерфейсів: відсутність стану (іншими словами, відсутні поля). Чи не властивість створює неявне приватне поле? Хіба це не було б дуже погано для інтерфейсів?

1
Чому, здається, .Net світ охоплює магічні рядки замість статично введених альтернатив?
Отже, я працюю в .Net. Я роблю проекти з відкритим кодом у .Net. Однією з моїх найбільших проблем із цим є не необхідність з .Net, а спільнота та рамки навколо неї. Всюди здається, що магічні схеми іменування і рядки трактуються як найкращий спосіб зробити все. Сміливе твердження, але подивіться на …

3
Що таке інжектор конструктора?
Я розглядав терміни введення конструктора та впорскування залежностей, переглядаючи статті про схеми дизайну (Локатор обслуговування). Коли я розмовився про впорскування конструктора, я отримав незрозумілі результати, що змусило мене зайти сюди. Що таке інжектор конструктора? Це специфічний тип введення залежності? Канонічний приклад був би чудовою допомогою! Редагувати Переглянувши ці питання після …

4
Чому і коли я повинен робити клас "статичним"? Яка мета "статичного" ключового слова на класах?
staticКлючове слово в якості члена в багатьох мовах означає , що ви не повинні створити екземпляр цього класу , щоб мати можливість мати доступ до такого Члена СОТ. Однак я не бачу жодного обгрунтування для створення цілого класу static. Чому і коли я повинен робити клас static? Які переваги я …

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.