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

11
Является ли статика универсальным «злом» для модульного тестирования, и если да, то почему Resharper рекомендует его? [закрыто]
Я обнаружил, что существует только 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) …

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

3
Почему закрытый член доступен в статическом методе?
Ниже приведен псевдокод, я пробовал его на 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(); Почему вы можете сделать это в парадигме ООП и какая …

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

2
Внедрение зависимостей против статических методов
Сегодня у меня была интересная дискуссия с другим разработчиком о том, как подойти к классу с помощью метода, который принимает строку и выводит строку. Представьте себе что-то вроде следующего, полностью составленное для примера. public string GetStringPart(string input) { //Some input validation which is removed for clarity if(input.Length > 5) return …

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.