-
Data: 2018-11-18 00:10:13
Temat: Re: Niezmienniki pętli
Od: Maciej Sobczak <s...@g...com> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]> Zasada jest taka że jeśli kod
> kontrolujący stan miałbym mieć więcej linijek niż goły algorytm to
> *zaciemnia* kod
Tak, to ważna obserwacja. Może da się te rzeczy rozdzielić? Tak jak rozdziela się
interfejs od implementacji? Zwłaszcza wtedy, gdy jakieś warunki faktycznie należą do
interfejsu? Akurat niezmienniki pętli należą do implementacji (i potrafią pięknie
zaciemnić kod), ale takie rzeczy jak "parametr powinien być między 0 a 20" albo
"wartość zwracana powinna być w zakresie indeksów tablicy" to intefejs. I może da się
to wtedy zapisać gdzieś w okolicy deklaracji tak, żeby użytkownik to widział (i mógł
się pod to sprawdzić)? Tak działa SPARK i przyznam, że podoba mi się.
> Po jakiś 20 latach stukania w klawisze
> widziałem kod opakowany DbC po brzegi i wymagał on niesłychanie dużo
> czasu aby zorientować się gdzie jest algorytm a gdzie checkery.
Czy czytelność kodu nie jest też kwestią umiejętności piszącego? Nie zawsze sama
koncepcja programistyczna musi ją przekreślać. Tzn. to nie musi być wina DbC, że kod
jest nieczytelny.
> Znacznie
> bardziej ufam unit testom i coverage niż ręcznie pisanym DbC.
W porządku. Testy też są potrzebne. A co jeśli część DbC można sprawdzić statycznie?
Wtedy ich wartość jest inna, niż testów. A co jeśli wtedy można by niektórych testów
w ogóle nie mieć? Unit testy to też koszt. Jeśli można tego kosztu nie mieć, to jest
to wartość dodana.
> Być może
> to jednak efekt języka, czyi w moim przypadku C++, nie wykluczam że
> można to czytelniej zapisać gdzie indziej.
A może wtedy należy odwrócić kolejność i zamiast szukać języka, gdzie to jest
czytelne (albo zamiast doklejać DbC do używanego języka), można taki język zrobić? W
sensie - zamiast rezygnować z DbC, bo jest nieczytelny, zróbmy język tak, żeby to
było czytelne.
To nie są zupełnie teoretyczne pytania.
--
Maciej Sobczak * http://www.inspirel.com
Następne wpisy z tego wątku
- 18.11.18 01:02 Queequeg
- 18.11.18 09:58 AK
- 18.11.18 10:10 fir
- 18.11.18 10:28 fir
- 18.11.18 17:35 Sebastian Biały
- 19.11.18 08:14 Maciej Sobczak
- 19.11.18 09:22 Roman Tyczka
- 19.11.18 10:37 Queequeg
- 19.11.18 10:45 Queequeg
- 19.11.18 17:15 g...@g...com
- 19.11.18 19:45 g...@g...com
- 19.11.18 19:49 g...@g...com
- 19.11.18 21:18 s...@g...com
- 19.11.18 21:44 Queequeg
- 19.11.18 22:10 fir
Najnowsze wątki z tej grupy
- Rosjanie chwalą się prototypem komputera kwantowego. "Najważniejszy projekt naukowy Rosji"
- A Szwajcarzy kombinują tak: FinalSpark grows human neurons from stem cells and connects them to electrode arrays
- Re: Najgorszy język programowania
- NOWY: 2025-09-29 Alg., Strukt. Danych i Tech. Prog. - komentarz.pdf
- Na grupie comp.os.linux.advocacy CrudeSausage twierdzi, że Micro$lop używa SI do szyfrowania formatu dok. XML
- Błąd w Sofcie Powodem Wymiany 3 Duńskich Fregat Typu Iver Huitfeldt
- Grok zaczął nadużywać wulgaryzmów i wprost obrażać niektóre znane osoby
- Can you activate BMW 48V 10Ah Li-Ion battery, connecting to CAN-USB laptop interface ?
- We Wrocławiu ruszyła Odra 5, pierwszy w Polsce komputer kwantowy z nadprzewodzącymi kubitami
- Ada-Europe - AEiC 2025 early registration deadline imminent
- John Carmack twierdzi, że gdyby gry były optymalizowane, to wystarczyły by stare kompy
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2025
- Linuks od wer. 6.15 przestanie wspierać procesory 486 i będzie wymagać min. Pentium
- ,,Polski przemysł jest w stanie agonalnym" - podkreślił dobitnie, wskazując na brak zamówień.
- Rewolucja w debugowaniu!!! SI analizuje zrzuty pamięci systemu M$ Windows!!!
Najnowsze wątki
- 2026-01-08 Agora zwalnia grupowo, mimo że w firmie pojawiły się zyski, czyli załoga zapracowała na siebie
- 2026-01-08 Agora zwalnia grupowo, mimo że w firmie pojawiły się zyski, czyli załoga zapracowała na siebie
- 2026-01-08 Dlaczego wrzucenie szkolnego krzyża do śmieci to zbrodnia mniejsza od zgaszenia sejmowej menory?
- 2026-01-08 NR 5G -- mity, hity, kity, bez satelity...
- 2026-01-07 Oszustwa w go go
- 2026-01-07 Jaka myjka ultradźwiękowa?
- 2026-01-07 POCO
- 2026-01-07 Kraków => Konsultant Microsoft Dynamics AX/365 SCM Consultant - Servi
- 2026-01-07 Kraków => Microsoft Dynamics AX/365 SCM Consultant - Service & Suppor
- 2026-01-06 I kolejny
- 2026-01-06 Retro organizer ale współcześnie
- 2026-01-06 Bowling
- 2026-01-06 Cyganie
- 2026-01-06 Rozwód w Santanderze z prostokątną kobietą...
- 2026-01-06 Skąd diody LED 1,5V?




5 Najlepszych Programów do Księgowości w Chmurze - Ranking i Porównanie [2025]