Czasami metody mają zbyt dużo parametrów przez co wywołanie ich jest niewygodne i może zajmować nawet dwie linie. Oczywiście pierwsza rzecz, którą powinniśmy zrobić jest sprawdzenie czy metoda czasami nie wykonuje zbyt wielu operacji tzn. przestrzega zasadę Single Responsibility. Jeśli mamy pewność, że metoda przestrzega wszelkie zasady i jest dobrze zaprojektowana wtedy trzeba pomyśleć jak zmniejszyć liczbę parametrów. W poście przedstawię kilka prób uzyskania takiego efektu. Logiczne wydaje się, utwo...
Sztuka programowania 4353 dni, 5 godzin, 41 minut temu 139 źrodło rozwiń
Dziś prosta zasada przekazywania parametrów ale jednak często łamana. Kod:privatestaticvoid Display(string[] strings) { foreach (string text in strings) { Console.WriteLine(text); } } Powyższa metoda ma za zadanie wyświetlenie wyłącznie elementów. Parametr wejściowy (tablica string’ów) jest zbyt specyficzny i nie pozwala na przekazanie wszystkich zbiorów danych. Na przykład poniższy kod nie skompiluje się:List
Sztuka programowania 4356 dni, 2 godziny, 30 minut temu 193 źrodło rozwiń
Używając analizy kodu w projektach .NET 4.0 można natknąć się na taki oto komunikat: CA1026: Microsoft Design: Replace method xyz with an overload that supplies all default arguments. W dokumentacji do tego ostrzeżenia czytamy, że choć używanie metod opcjonalnych jest dozwolone w specyfikacji CLS, to dozwolone jest także ich ignorowanie. Przyjrzyjmy się więc temu nieco bliżej. Parametry opcjonalne Na tapetę weźmiemy tę oto prostą metodę: public void OptionalMethod(string name, int value = 42) { ...
Czy zastanawialiście się kiedyś jak dodawać parametry doSqlCommand? Klasa ta zawiera pole Parameters typy SqlParameterCollection, na którym możemy wykonać między innymi metodę AddWithValue(string, object). W internecie jak i w dokumentacji w nazwach parametrów na początku jest zawsze użyty znak “@”. Przy okazji jednego z projektów musiałem odpowiedzieć sobie na pytanie: Czy muszę zadbać o “@” przy nazwie parametru? Nie zastanawiając się długo postanowiłem, zgodnie duchem empiryzmu, sprawdzić co się stani...
Bazy danych i XML 5045 dni, 19 godzin, 24 minuty temu 146 źrodło rozwiń
Krótki opis o tym jak możemy przechwycić wartości parametrów z metod, które wywołujemy przy pomocy Mock Objects.