Powiedzmy, że mamy normalną czystą funkcję, taką jak function add(a, b) { return a + b } A następnie zmieniamy go tak, aby miał efekt uboczny function add(a, b) { writeToDatabase(Math.random()) return a + b; } O ile wiem, nie jest to uważane za funkcję czystą, ponieważ często słyszę, jak …
Spędziłem trochę czasu czytając wspólne licencje na oprogramowanie copyleft i permissive. Czy istnieje licencja, która pozwala twórcy aplikacji lub algorytmu na ogólne określenie, kto może używać / rozpowszechniać produkt na podstawie własnych osobistych uprzedzeń? Rozumiem, że ludzie używają podwójnych licencji, aby zmusić podmioty komercyjne do płacenia za licencję poboczną lub …
Z technicznego punktu widzenia możliwe jest dodanie niektórych zaczepów przed / po naciśnięciu, które będą uruchamiać testy jednostkowe przed zezwoleniem na połączenie określonego zatwierdzenia ze zdalną domyślną gałęzią. Moje pytanie brzmi - czy lepiej jest utrzymywać testy jednostkowe w potoku kompilacji (w ten sposób wprowadzając uszkodzone commits do repo) czy …
W większości języków OOP obiekty są ogólnie modyfikowalne z ograniczonym zestawem wyjątków (takich jak np. Krotki i ciągi w pythonie). W większości języków funkcjonalnych dane są niezmienne. Zarówno zmienne, jak i niezmienne obiekty wnoszą własną listę zalet i wad. Istnieją języki, które próbują łączyć oba pojęcia, takie jak np. Scala, …
Czy metody boolowskie powinny zawsze przyjmować formę twierdzącą, nawet jeśli kiedykolwiek będą stosowane tylko w formie negatywnej? Powiedzmy, że chciałem sprawdzić, czy istnienie istnieje przed utworzeniem jednego, moim argumentem jest to, że pierwsza forma poniżej jest lepsza niż druga forma, niezależnie od tego, czy metoda jest kiedykolwiek używana w formie …
Za pomocą zwykłych git i github mogę dokonać przeglądu kodu, po prostu tworząc żądanie ściągnięcia gałęzi funkcji, nad którą pracuję, do gałęzi master. Jak mam napisać recenzję kodu za pomocą git-flow? Jeśli chodzi o przepływ pracy, taki jak „zakończenie funkcji git flow”, jestem zdezorientowany co do tego, gdzie faktycznie ma …
Z czasem mogłem zrozumieć dwie części SOLID - „S” i „O”. „O” - nauczyłem się otwartej zasady zamkniętej za pomocą wzoru dziedziczenia i strategii. „S” - nauczyłem się zasady pojedynczej odpowiedzialności podczas uczenia się ORM (logika trwałości jest odbierana obiektom domeny). W podobny sposób, jakie są najlepsze regiony / zadania …
Twórcy oprogramowania zwykle nie używają daty jako numeru wersji, chociaż format RRRRMMDD (lub jego warianty) wygląda na wystarczająco solidny, aby go użyć. Czy coś jest nie tak z tym schematem? Czy może dotyczy tylko ograniczonych „rodzajów” oprogramowania (takich jak produkcje własne)?
Używam wszędzie niepodpisanych int i nie jestem pewien, czy powinienem. Może to być od kolumny identyfikatora klucza podstawowego bazy danych do liczników itp. Jeśli liczba nigdy nie powinna być ujemna, zawsze będę używał znaku int bez znaku. Jednak zauważam z kodu innego, że nikt inny tego nie robi. Czy przeoczyłem …
ifJeśli to w ogóle możliwe, należy unikać długich warunków nawijania , ale czasem wszyscy je piszemy. Nawet jeśli jest to bardzo prosty warunek, zaangażowane stwierdzenia są czasami po prostu bardzo trudne, więc cały warunek kończy się bardzo długo. Jaki jest najbardziej czytelny sposób ich sformatowania? if (FoobarBaz::quxQuux(corge, grault) || !garply(waldo) …
czy to zła praktyka, że repozytorium wywołań kontrolera zamiast usługi? wyjaśnić więcej: Rozumiem, że w dobrym projekcie kontrolery wywołują serwis i repozytorium użytkowania usługi. ale czasami w kontrolerze nie mam / potrzebuję żadnej logiki i po prostu muszę pobrać z db i przekazać go do przeglądania. i mogę to zrobić …
Jeśli zdefiniuję zmienną określonego typu (która, o ile mi wiadomo, po prostu przydziela dane do zawartości zmiennej), w jaki sposób śledzi, jaki to rodzaj zmiennej?
Właśnie dostałem telefon retro, w którym programiści wyrazili zaniepokojenie integracją swoich historii w głównej gałęzi każdego sprintu. Wszyscy programiści kodują we własnej gałęzi i pod koniec sprintu łączą się w jedną gałąź główną. Następnie jeden programista (zwykle ten sam) ma za zadanie upewnić się, że wszystko dobrze zintegrowało się z …
Kilka lat temu napisałem i wydałem oprogramowanie na licencji MIT. Ostatnio zauważyłem, że jeden (lub kilka?) Z widelców zmienił wiodące powiadomienie o prawach autorskich u góry licencji, tj. Copyright (c) 2014 <my name> MIT License Permission is hereby granted, free of charge, to any person obtaining a copy of this …
Według Kiedy prymitywna obsesja nie jest zapachem kodu? , Powinienem utworzyć obiekt ZipCode reprezentujący kod pocztowy zamiast obiektu String. Jednak z mojego doświadczenia wolę widzieć public class Address{ public String zipCode; } zamiast public class Address{ public ZipCode zipCode; } ponieważ myślę, że ten ostatni wymaga ode mnie przejścia do …
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.