Czasami, choć nie często, muszę zawrzeć logikę matematyczną w kodzie. Stosowane pojęcia są w większości bardzo proste, ale wynikowy kod nie jest - wiele zmiennych o niejasnym celu i niektóre operacje o mniej oczywistych zamiarach. Nie oznacza to, że kod jest nieczytelny lub unmaintainable, tylko że to waaaay trudniejszy do zrozumienia niż rzeczywisty problem matematyczny. Staram się komentować te fragmenty, które są najtrudniejsze do zrozumienia, ale jest taki sam problem, jak po prostu ich kodowanie - tekst nie ma ekspresyjnej mocy matematyki .
Szukam bardziej wydajnego i łatwego do zrozumienia sposobu wyjaśnienia logiki stojącej za złożonym kodem, najlepiej w samym kodzie. Rozważyłem TeXa - pisanie dokumentacji i generowanie jej oddzielnie od kodu. Ale wtedy musiałbym nauczyć się TeXa, a dokumentacja nie będzie w samym kodzie. Inną rzeczą, o której myślałem, było zrobienie zdjęcia zapisów matematycznych, równań i diagramów zapisanych na papierze / tablicy, a także włączenie go do javadoc.
Czy istnieje prostszy i jaśniejszy sposób?
PS Nadanie zmiennym nazw opisowych ( timeOfFirstEvent
zamiast t1
) powoduje, że kod jest bardziej szczegółowy, a nawet trudniejszy do odczytania.