Вопросы с тегом «static-methods»

85
Является ли статика универсальным «злом» для модульного тестирования, и если да, то почему Resharper рекомендует его? [закрыто]

Я обнаружил, что существует только 3 способа статических зависимостей модульного тестирования (макет / заглушка) в C # .NET: Кроты TypeMock JustMock Учитывая, что два из них не бесплатны, а один не выпущен в версии 1.0, издеваться над статичными вещами не так уж и легко. Имеет ли это статические...

68
Почему есть частные статические методы?

Я просто хотел прояснить вопрос, который у меня есть. Какой смысл иметь приватный статический метод в отличие от обычного метода с приватной видимостью? Я бы подумал, что преимущество статического метода состоит в том, что он может быть вызван без экземпляра класса, но, поскольку его закрытый...

64
Разве я не могу использовать все статические методы?

В чем разница между двумя методами UpdateSubject ниже? Я чувствовал, что использование статических методов лучше, если вы просто хотите оперировать сущностями. В каких ситуациях мне следует использовать нестатические методы? public class Subject { public int Id {get; set;} public string Name { get;...

63
Как бороться со статическими служебными классами при разработке для тестируемости

Мы пытаемся спроектировать нашу систему так, чтобы она была тестируемой, и в большинстве случаев она была разработана с использованием TDD. В настоящее время мы пытаемся решить следующую проблему: В разных местах нам необходимо использовать статические вспомогательные методы, такие как ImageIO и...

25
Когда используются «статические функции»?

Хорошо, я узнал, что такое статическая функция, но я до сих пор не понимаю, почему они более полезны, чем закрытые функции-члены. Это может быть своего рода новым вопросом здесь, но почему бы не заменить вместо этого все закрытые функции-члены статическими...

25
Почему закрытый член доступен в статическом методе?

Ниже приведен псевдокод, я пробовал его на Java и PHP, и оба работали: class Test { private int a = 5; public static function do_test(){ var t = new Test(); t.a = 1; print t.a // 1 } } Test::do_test(); Почему вы можете сделать это в парадигме ООП и какая от этого...

21
Внедрение зависимостей против статических методов

Сегодня у меня была интересная дискуссия с другим разработчиком о том, как подойти к классу с помощью метода, который принимает строку и выводит строку. Представьте себе что-то вроде следующего, полностью составленное для примера. public string GetStringPart(string input) { //Some input validation...

14
Является ли это запахом кода, если вы часто создаете объект просто для вызова метода?

Я унаследовал кодовую базу, где много кода, который выглядит примерно так: SomeDataAdapter sda = new SomeDataAdapter(); sda.UpdateData(DataTable updateData); И тогда sda больше никогда не используется. Это запах кода, который указывает, что эти методы должны быть статическими методами...

13
Мы злоупотребляем статическими методами?

Пару месяцев назад я начал работать над новым проектом, и при прохождении кода меня поразило количество используемых статических методов. В collectionToCsvString(Collection<E> elements)них хранятся не только служебные методы , но и множество бизнес-логики. Когда я спросил парня,...

13
Почему статические методы не должны быть переопределенными?

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

11
«Статичный» как смысловой ключ к безгражданству?

Недавно я провел рефакторинг проекта среднего размера в Java, чтобы вернуться и добавить модульные тесты. Когда я понял, что такое издеваться над статуэтками и статикой, мне было больно, я наконец-то «получил» то, что читал о них все это время. (Я один из тех людей, которым нужно учиться на...

10
Вредны ли частные статические методы в C #?

Я создал частный метод проверки для определенной проверки, которая происходит несколько раз в моем классе (я не могу сохранить проверенные данные по разным причинам). Теперь ReSharper предлагает сделать функцию статичной. Я немного не хочу этого делать из-за известных проблем со статическими...

10
Является ли разделение большинства классов на поля данных только классами и только классы методов (если это возможно) хорошим или антишаблонным?

Например, класс обычно имеет члены класса и методы, например: 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 } } Но...

9
Почему прохождение объектов статическими методами было бы выгодно?

Почему было бы выгодно использовать статический метод и передавать ссылку на объект в качестве параметра, а не вызывать метод объекта? Чтобы уточнить, что я имею в виду, рассмотрим следующий класс: public class SomeClass { private double someValue; public SomeClass() { // Some constructor in which...