Запитання з тегом «static-methods»

11
Чи є статична загально "зла" для тестування одиниць і якщо так, то чому рекомендує Решарпер? [зачинено]
Я виявив, що у C # .NET є лише 3 способи розділити тестові (макет / заглушки) залежності, які є статичними в C # .NET: Молі TypeMock JustMock Зважаючи на те, що два з них не безкоштовні, а один не потрапив до версії 1.0, глузувати з статичних матеріалів не надто просто. …

7
Чому існують приватні статичні методи?
Я просто хотів прояснити питання, яке у мене є. Який сенс мати приватний статичний метод на відміну від звичайного методу з приватною видимістю? Я б подумав, що перевага статичного методу полягає в тому, що його можна викликати без екземпляра класу, але оскільки його приватний є навіть сенс статичним? Єдина причина, …

10
Чи не можу я просто використовувати всі статичні методи?
Яка різниця між двома методами UpdateSubject нижче? Я вважав, що статичні методи краще, якщо ви просто хочете оперувати сутностями. У яких ситуаціях слід звертатися з нестатичними методами? public class Subject { public int Id {get; set;} public string Name { get; set; } public static bool UpdateSubject(Subject subject) { //Do …

7
Як поводитися зі статичними класами корисності при проектуванні для тестабельності
Ми намагаємося розробити нашу систему, щоб бути перевіряемою та здебільшого розробленою за допомогою TDD. В даний час ми намагаємося вирішити таку проблему: У різних місцях нам необхідно використовувати статичні допоміжні методи, такі як ImageIO та URLEncoder (обидва стандартні Java API) та різні інші бібліотеки, що складаються здебільшого статичних методів (наприклад, …


15
Коли вводяться в дію "статичні функції"?
Гаразд, я дізнався, що таке статична функція, але я досі не бачу, чому вони корисніші, ніж функції приватних членів. Це може бути тут новим питанням, але чому б просто не замінити всі функції приватних членів статичними функціями?

2
Ін'єкція залежності від статичних методів
Я провів сьогодні цікаву дискусію з іншим розробником про те, як наблизитись до класу методом, який приймає рядок та виводить рядок. Уявіть щось на зразок наступного, яке повністю складено з метою прикладу public string GetStringPart(string input) { //Some input validation which is removed for clarity if(input.Length > 5) return input.Substring(0,1); …

7
Це запах коду, якщо ви часто створюєте об'єкт просто для виклику методу на ньому
Я успадкував базу коду, де існує багато коду, який має щось подібне: SomeDataAdapter sda = new SomeDataAdapter(); sda.UpdateData(DataTable updateData); І тоді sda більше не використовується. Це запах коду, який вказує на те, що ці методи повинні бути замість цього статичними методами класу?

5
Чому статичні методи не мають змоги бути переборними?
У відповідях на це питання загальний консенсус полягав у тому, що статичні методи не повинні бути перекритими (і, отже, статичні функції в C # не можуть бути віртуальними або абстрактними). Однак це не лише у C #; Java також забороняє це, і C ++, схоже, також не подобається. Однак я …

1
Ми зловживаємо статичними методами?
Пару місяців тому я почав працювати над новим проектом, і, переглядаючи код, це вразило мене кількістю застосованих статичних методів. collectionToCsvString(Collection<E> elements)В них зберігаються не тільки корисні методи як , але і велика кількість бізнес-логіки. Коли я запитав хлопця, відповідального за обґрунтування цього, він сказав, що це спосіб врятуватися від свавілля …

3
"Статичність" як семантична підказка про безгромадянськість?
Нещодавно я здійснив рефакторинг середнього розміру проекту на Java, щоб повернутися назад та додати тестові одиниці. Коли я зрозумів, який біль викликати знущання над одинаками та статикою, я нарешті «дістав» те, що читав про них увесь цей час. (Я один з тих людей, яким потрібно вчитися на досвіді. Ну добре.) …

6
Чи відокремлення більшості класів у полі даних лише класів і класів лише методів (якщо можливо) є добрим чи антидіаграмою?
Наприклад, у класі зазвичай є члени та методи класу, наприклад: public class Cat{ private String name; private int weight; private Image image; public void printInfo(){ System.out.println("Name:"+this.name+",weight:"+this.weight); } public void draw(){ //some draw code which uses this.image } } Але прочитавши про принцип єдиної відповідальності та відкритий закритий принцип, я віддаю …

3
Чи шкодять приватні статичні методи в C #?
Я створив приватний метод перевірки для певної перевірки, яка трапляється кілька разів у моєму класі (я не можу зберігати перевірені дані з різних причин). Тепер ReSharper припускає, що функція може бути статичною. Я трохи не бажаю цього робити через відомі проблеми зі статичними методами. Це був би приватний статичний метод. …

4
Чому передача об'єктів статичними методами буде вигідною?
Чому було б перевагою використовувати статичний метод і передавати посилання на об’єкт як параметр, а не викликати метод на об'єкт? Щоб уточнити, що я маю на увазі, розглянемо наступний клас: public class SomeClass { private double someValue; public SomeClass() { // Some constructor in which someValue is set } public …
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.