Wpis z mikrobloga

w c# można bo są internowane


@Whiskeyjack29: Nie do końca, można bo string posiada przeładowany operator ==
Internowanie wykonuje się dla stałych znanych w trakcie kompilacji, dlatego dla
var a = "ab";
a = a + "c";
var b = "abc";

object.ReferenceEquals(a, b) zwróci false bo nie zostały zinternowane
a == b zwróci true bo zawartość jest taka sama
@Tarec: Bo kod jest brzydki i później masz pełno sprawdzan czy wszystko jest nullem, ładniej jest użyć optional albo jeśli wiele elementów to pusta lista, ewentualnie wyjątek zależy od logiki co to robi, ale zazwyczaj jak zwracasz nulla to da się tego uniknąć
@Tarec: Jest różnica miedzy zwróceniem wartości która nie sygnalizuję tego że może być pusta przez co nie da się kontynuować wykonania głównej ścieżki oczekującej wartości (zwykle NPE) a wartość która może być pusta ale zmusza programistę do zaimplementowania dwóch ścieżek
@Tarec: No i zapomniałem o najważniejszym później możesz mieć nullpointer exception i będziesz się dziwil dlaczego i w którym momencie popełniłeś błąd
@k_suchy: niech mnie ktos nauczy programować () jestem taki leniwy umysłowo i czasem wolę dłużej pomyśleć żeby zrobić coś krócej/szybciej że na pewno robiłbym najlepsze kody
No i zapomniałem o najważniejszym później możesz mieć nullpointer exception i będziesz się dziwil dlaczego i w którym momencie popełniłeś błąd


@niko444 Teraz to już bez przesady. Jeśli ignorujesz ścieżkę wykonania zwracającą nulla, o czym przestrzega Cię każde IDE, to sam jesteś już sobie winien. Nullpointer exception czy jak to się tam nazywa w Javie to dla mnie błąd początkującego programisty - doświadczony programista nie ma prawa zaskakiwać się tym, że metoda
@Tarec: No właśnie nie każdy to oznacza dobrze załóżmy że ktoś robił ta metodę a ty masz ją użyć i potem jesteś zaskoczony i masz wyjątek w dziwnym miejscu zamiast mieć fail fast jeśli zwrócenie nulla ktoś uznał jako odpowiedź za np nieprawidłowe dane wejściowe do metody, tak czy inaczej nie powinno się zwracać nulla nigdy, już lepiej rzucać wyjątki o czym mówił autor w książce Clean Code.