Wyjaśniając mojej koledze różnicę między ścisłością języków i paradygmatów, stwierdziłem, że: Języki tolerancyjne, takie jak języki dynamiczne i interpretowane, są najlepiej stosowane w prototypach i małych projektach lub średnich aplikacjach internetowych. Przy wyborze eleganckich dynamicznych języków, takich jak Python lub JavaScript z Node.js, korzyści są następujące: Szybki rozwój, Zredukowany kod …
Używamy SonarQube do analizy naszego kodu Java i ma on następującą regułę (ustawioną na krytyczną): Metody publiczne powinny zgłaszać maksymalnie jeden sprawdzony wyjątek Użycie sprawdzonych wyjątków zmusza osoby wywołujące metody do radzenia sobie z błędami, propagując je lub obsługując. To sprawia, że te wyjątki są w pełni częścią interfejsu API …
Właśnie czytałem niektóre białe księgi i przykłady z Microsoft „Roslyn” i koncepcja wydaje się bardzo interesująca. Z tego, co mogę powiedzieć, otwiera czarną skrzynkę, która jest kompilatorem i zapewnia interfejs, którego możemy użyć do uzyskania informacji i metryk dotyczących kodu napisanego w Visual Studio. Wydaje się, że Roslyn ma także …
Mamy tutaj dużą bazę kodu ze złym kodem, którego nie można sobie wyobrazić. Zdefiniowaliśmy teraz niektóre standardy jakości i chcemy je spełnić w zupełnie nowej bazie kodu, ale także, jeśli dotkniesz starszego kodu. I egzekwujemy te za pomocą Sonar (narzędzie do analizy kodu), które ma już kilka tysięcy naruszeń. Teraz …
Słyszałem o analizie kodu Visual Studio, ale nigdy jej nie użyłem. Przeczytałem MSDN , ale nadal nie rozumiem prawdziwego zastosowania analizy kodu. Czy to nie to samo co StyleCop? Gdzieś wspomniano także o FxCop. Jaka jest różnica w analizie kodu? Czy muszę używać analizy kodu dla każdego projektu? Czy recenzje …
Wydaje mi się logiczne, że można zdefiniować kontekst dla statycznej analizy kodu źródłowego, który obejmował reguły generujące względną wartość złożoności. Wiem, że to nie jest w sensie fizycznym, ponieważ kod sosu nie ma „Energii”, ale założę się, że przynajmniej starałem się wykreślić analogię. Czy ktoś wie o tym, a jeśli …
Pisanie statyczne w języku programowania może być pomocne w egzekwowaniu pewnych gwarancji w czasie kompilacji - ale czy typy są jedynym narzędziem do tego zadania? Czy istnieją inne sposoby określania niezmienników? Na przykład język lub środowisko może pomóc w egzekwowaniu gwarancji dotyczącej długości tablicy lub relacji między danymi wejściowymi do …
Ostatnio badałem złożoność cykliczną (McCabe) i dostępność oprogramowania na uni. Dzisiaj mój wykładowca powiedział, że nie ma korelacji między tymi dwoma miernikami, ale czy tak naprawdę jest? Sądzę, że na pewno istnieje pewna korelacja, ponieważ mniej złożone programy (z niewielu, na które patrzyliśmy) wydają się mieć „lepsze” wyniki pod względem …
Narzędzia takie jak pc-lint lub QAC mogą być używane do przeprowadzania statycznej analizy kodu na podstawie kodu. Z mojego doświadczenia wynika, że analiza statyczna często powoduje ogromny hałas, tj. Ostrzeżenia o rzeczach, które nie są prawdziwymi błędami, ale w jakiś sposób naruszają jedną z reguł w danym zestawie reguł. Wyłączenie …
Pracuję w firmie, która uzyska 11 punktów w teście Joela - przynajmniej na papierze. W praktyce jednak nic nie działa tak dobrze, jak się spodziewano, a projekt działa na DEFCON 1 od pół roku. Teraz większość moich rówieśników jest zadowolona, jeśli mogą wrócić do domu o 18:00 - w niedzielę. …
Jestem przyzwyczajony do ręcznego wyszukiwania notacji Landau (Big O, Theta ...) moich algorytmów, aby upewnić się, że są one tak zoptymalizowane, jak to tylko możliwe, ale kiedy funkcje stają się naprawdę duże i złożone, zaczyna to robić zbyt dużo czasu, aby zrobić to ręcznie. jest również podatny na błędy ludzkie. …
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.