C # to wieloparadygmatyczny, zarządzany obiektowy język programowania ze zbieraniem elementów bezużytecznych stworzony przez firmę Microsoft równolegle z platformą .NET
Zwykle zgadzam się z większością ostrzeżeń dotyczących analizy kodu i staram się ich przestrzegać. Mam jednak trudniejszy czas z tym: CA1031: Nie przechwytuj ogólnych typów wyjątków Rozumiem uzasadnienie tej reguły. Ale w praktyce, jeśli chcę podjąć to samo działanie niezależnie od zgłoszonego wyjątku, dlaczego miałbym obsługiwać każde z nich konkretnie? …
Osobiście nie spotkałem się z sytuacją, w której musiałem używać typu WeakReference w .Net, ale wydaje się, że popularne jest to, że powinno się go używać w pamięci podręcznej. Dr Jon Harrop w swojej odpowiedzi na to pytanie bardzo dobrze uzasadnił użycie WeakReferences w pamięci podręcznej . Często słyszałem też, …
Pracuję w zespole, w którym kierownik zespołu jest zjadliwym orędownikiem zasad rozwoju SOLID. Brakuje mu jednak dużego doświadczenia w uzyskiwaniu skomplikowanego oprogramowania. Mamy sytuację, w której zastosował SRP do tego, co było już dość złożoną bazą kodu, która stała się teraz bardzo rozdrobniona, trudna do zrozumienia i debugowania. Mamy teraz …
Szukam ostatecznej odpowiedzi z pierwotnego lub wtórnego źródła, dlaczego (zwłaszcza) Java i C # zdecydowały się na metodę statyczną jako punkt wejścia, zamiast reprezentować instancję aplikacji przez instancję Applicationklasy (z punktem wejścia bycie odpowiednim konstruktorem). Tło i szczegóły moich wcześniejszych badań Zostało to już wcześniej zadane. Niestety istniejące odpowiedzi są …
Jakie były decyzje projektowe, które przemawiały za tym, że voidnie można ich zbudować i że nie można ich uznać za rodzaj ogólny? W końcu jest to po prostu specjalny pusty structi uniknąłby całkowitej PITA posiadania odrębnych Funci Actiondelegatów. (C ++ pozwala na jawne voidzwroty i pozwala voidjako parametr szablonu)
Staram się owinąć głowę wokół TDD, a konkretnie części programistycznej. Przeglądałem niektóre książki, ale te, które znalazłem, dotyczą głównie części testowej - Historii NUnit, dlaczego testowanie jest dobre, Red / Green / Refactor i jak stworzyć kalkulator strun. Dobre rzeczy, ale to „tylko” testy jednostkowe, a nie TDD. W szczególności …
W ciągu ostatnich kilku lat powoli przechodziliśmy na stopniowo coraz lepszy kod, kilka kroków naraz. W końcu zaczynamy przestawiać się na coś, co przynajmniej przypomina SOLID, ale jeszcze tam nie jesteśmy. Od czasu dokonania zmiany, jednym z największych zarzutów ze strony programistów jest to, że nie mogą znieść recenzowania i …
Ktoś kiedyś powiedział, że powinniśmy poprzedzić wszystkie nasze metody /// <summary>blokami komentarzy (C #), ale nie wyjaśnił dlaczego. Zacząłem ich używać i zauważyłem, że trochę mnie denerwują, więc przestałem ich używać, z wyjątkiem bibliotek i metod statycznych. Są nieporęczne i zawsze zapominam o ich aktualizacji. Czy jest jakiś dobry powód, …
To pytanie jest subiektywne, ale byłem ciekawy, jak podchodzi do tego większość programistów. Poniższy przykład jest w pseudo-C #, ale powinno to również dotyczyć języków Java, C ++ i innych języków OOP. W każdym razie, pisząc metody pomocnicze w moich klasach, mam tendencję do deklarowania ich jako statycznych i po …
Mimo ogólnego pytania, moim zakresem jest język C #, ponieważ jestem świadom, że języki takie jak C ++ mają różną semantykę w zakresie wykonywania konstruktorów, zarządzania pamięcią, nieokreślonego zachowania itp. Ktoś zadał mi interesujące pytanie, na które nie było łatwo odpowiedzieć. Dlaczego (a może w ogóle?) Uważa się za zły …
Mam switchstrukturę, która ma kilka spraw do załatwienia. switchPracuje przy enumco stwarza problem powielonych kodu poprzez wspólne wartości: // 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. } Obecnie switchstruktura …
W języku C # następujący kod jest poprawny interface I{ int property{get;set;} } To nie ma dla mnie żadnego sensu. Wydaje się to łamać jedną z najważniejszych zasad interfejsów: brak stanu (innymi słowy brak pól). Czy właściwość nie tworzy niejawnego pola prywatnego? Czy to nie byłoby naprawdę złe dla interfejsów?
Więc pracuję w .Net. Robię projekty open source w .Net. Jednym z moich największych problemów nie jest konieczność korzystania z .Net, ale ze społecznością i otaczającymi go ramami. Wszędzie wydaje się, że magiczne schematy i ciągi nazewnictwa są traktowane jako najlepszy sposób na zrobienie wszystkiego. Odważne stwierdzenie, ale spójrz na …
Podczas przeglądania artykułów na temat wzorców projektowych (lokalizator usług) przyglądałem się terminom wstrzykiwanie konstruktora i wstrzykiwanie zależności. Kiedy przejrzałem Google na temat wstrzykiwania konstruktora, otrzymałem niejasne wyniki, które skłoniły mnie do sprawdzenia się tutaj. Co to jest zastrzyk konstruktora? Czy to specyficzny rodzaj wstrzyknięcia zależności? Świetnym rozwiązaniem byłby kanoniczny przykład! …
Słowo statickluczowe członka w wielu językach oznacza, że nie powinieneś tworzyć instancji tej klasy, aby mieć dostęp do tego członka. Nie widzę jednak żadnego uzasadnienia, aby stworzyć całą klasę static. Dlaczego i kiedy powinienem zrobić zajęcia static? Jakie korzyści czerpię z tworzenia zajęć static? Mam na myśli, że po zadeklarowaniu …
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.