SOLID obejmuje zasadę podstawienia Liskowa, która zakłada, że „obiekty w programie powinny być zastępowalne instancjami ich podtypów bez zmiany poprawności tego programu”. Ponieważ klasy statyczne z metodami statycznymi (trochę jak Mathklasa) w ogóle nie mają instancji, czy mój system jest SOLIDNY, jeśli mam klasy statyczne z metodami statycznymi?
Czy else whilebez interwencji aparatów ortodontycznych uważa się za „bezpieczną” konserwację? Pisanie if-elsekodu bez nawiasów klamrowych jak poniżej ... if (blah) foo(); else bar(); ... niesie ryzyko, ponieważ brak nawiasów klamrowych sprawia, że bardzo łatwo przypadkowo zmienić znaczenie kodu. Czy jednak poniżej jest również ryzykowne? if (blah) { ... } …
To pytanie zostało przeniesione z przepełnienia stosu, ponieważ można na nie odpowiedzieć w programie Software Engineering Stack Exchange. Migrował 8 lat temu . Dział rozwoju oprogramowania mojej firmy boryka się z problemem, że migracje danych są uważane za potencjalnie niebezpieczne, szczególnie dla moich menedżerów. Tło jest takie, że nasi klienci …
W czystym języku, takim jak Haskell, wszystkie dane są niezmienne i nie można w żaden sposób zmieniać istniejących struktur danych. Ponadto wiele algorytmów niezmiennych danych i wzorców programowania funkcjonalnego generuje duże ilości śmieci z natury ( mapna przykład łańcuchy tworzenia list pośrednich). Jakie strategie i techniki stosują śmieciarze w obliczu …
Powiedzmy, że mam procedurę, która wykonuje różne czynności : void doStuff(initalParams) { ... } Teraz odkrywam, że „robienie rzeczy” to dość skomplikowana operacja. Procedura staje się duża, podzielę ją na wiele mniejszych procedur i wkrótce zdaję sobie sprawę, że posiadanie jakiegoś stanu byłoby przydatne podczas robienia rzeczy, więc muszę przekazywać …
Przydzielono mi zadanie wdrożenia języka specyficznego dla domeny dla narzędzia, które może stać się dość ważne dla firmy. Język jest prosty, ale nie trywialny, pozwala już na zagnieżdżanie pętli, łączenie łańcuchów itp. I jest praktycznie pewne, że wraz z postępem projektu zostaną dodane inne konstrukcje. Wiem z doświadczenia, że ręczne …
Rozmawiałem dziś ze współpracownikiem, czy użycie operatora Java instanceofjest rodzajem refleksji. Dyskusja szybko przekształciła się w to, co faktycznie definiuje odbicie. Jaka jest definicja odbicia? A czy użycie instanceofrozważanego „używania odbicia”? A jeśli instanceofrozważa się odbicie, to czy polimorfizm również nie „używa odbicia”? Jeśli nie, jaka jest różnica?
Jaki jest dobry sposób nazwania metody sprawdzającej, czy X musi zostać wykonane, i czy X to w razie potrzeby? Na przykład, jak nazwać metodę aktualizującą listę użytkowników, jeśli zalogują się nowi użytkownicy? UpdateListIfNeededwydaje się zbyt długi, a prosty UpdateListoznacza, że za każdym razem wykonywana jest prawdopodobnie droga i niepotrzebna operacja. …
Przeglądając napisany przeze mnie kod, natknąłem się na następującą konstrukcję, która skłoniła mnie do myślenia. Na pierwszy rzut oka wydaje się wystarczająco czysty. Tak, w rzeczywistym kodzie getLocation()metoda ma nieco bardziej konkretną nazwę, która lepiej opisuje dokładnie, jaką lokalizację otrzymuje. service.setLocation(this.configuration.getLocation().toString()); W tym przypadku servicejest to zmienna instancji znanego typu, …
Zamknięte. To pytanie jest nie na temat . Obecnie nie przyjmuje odpowiedzi. Chcesz poprawić to pytanie? Zaktualizuj pytanie, aby było tematem dotyczącym wymiany stosów inżynierii oprogramowania. Zamknięte 4 lata temu . Po dzisiejszym pytaniu na temat odmiany pytania do wywiadu FizzBuzz, a także na innych związanych z nim pytaniach, muszę …
To pytanie zostało przeniesione z przepełnienia stosu, ponieważ można na nie odpowiedzieć w programie Software Engineering Stack Exchange. Migrował 8 lat temu . Dla nikogo nie jest tajemnicą, że menedżerowie mogą i często narzucą język programowania, który będzie używany w projekcie. Jako programista nigdy nie byłem w stanie tego zrozumieć. …
Uwaga: Kiedy użyłem „złożonego” w tytule, mam na myśli, że wyrażenie ma wiele operatorów i operandów. Nie to, że samo wyrażenie jest złożone. Niedawno pracowałem nad prostym kompilatorem do zestawu x86-64. Skończyłem główny front kompilatora - leksykon i parser - i jestem teraz w stanie wygenerować abstrakcyjne drzewo syntaktyczne mojego …
Zamknięte. To pytanie jest nie na temat . Obecnie nie przyjmuje odpowiedzi. Chcesz poprawić to pytanie? Zaktualizuj pytanie, aby było tematem dotyczącym wymiany stosów inżynierii oprogramowania. Zamknięte 5 lat temu . Miałem swój pierwszy egzamin programistyczny niedawno ... i cóż, prawie go zdałem. Nie zrobiło się wcale świetnie. Mogę winić …
Jak mogę powiedzieć po angielsku, że język programowania można skompilować na inne języki programowania? Przykładem może być Haxe . Na stronie internetowej język jest opisany jako „Multiplatform”: Multiplatform: Haxe można kompilować na wszystkie popularne platformy programistyczne za pomocą szybkiego kompilatora - JavaScript, Flash, NekoVM, PHP, C ++, C # i …
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.