W kwestii użytkowania:
- dlaczego jak podzielę przez zero to mam Infinity?
- Dlaczego jak do infinity dodam jeden to znowu mam infinity?
- dlaczego nie działa obsługa klawiszy?
- dlaczego enter przeładowuje stronę a nie działa jak "oblicz"?
- dlaczego 0.3 minus 0.2 daje "0.009999999999999998" ?
- dlaczego jak liczba cyfr nie mieści się w okienku do wpisywania to nie przesuwa mnie dalej, tylko wpisuję w ciemno nie wiedząc co?
- dlaczego nie ma operacji modulo, potęgowania, pierwiastkowania itp.? Masz na to gotowe metody w JS więc jest to proste do implementacji.
- dlaczego mogę wpisywać nie tylko cyfry?
W kwestii kodu:
- dlaczego referencję do wartości textview pobierasz miliard razy zamiast robić to jakoś sensowniej raz, albo jedną abtrakcją i nie powtarzać kodu?
- dlaczego stosujesz eval? To jedno z najgorszych rozwiązań dla kalkulatora... eval nigdy nie ma sensu, a jeśli wydaje się że ma, to trzeba zastanowić się nad sensem ogólnych założeń bo są na pewno złe.
- dlaczego w ogóle nie sprawdasz czy poruszasz się w tzw. bezpiecznym zakresie liczb JS? Tymbardziej, że operujesz tylko na takich liczbach, resztą lepszy byłby wg mnie kalkulator bardziej uniwersalny, a nie tylko z takim ograniczeniem.
- nie robisz kompletnie żadnej walidacji
- z pkt. wyżej, dlaczego "a+b+1" nie robi nic... ani błędu, ani wyniku...?
- nigdy nie rób funkcji o nazwie c(), b() itp. Są one kompletnie nieczytelne i nie wiadomo co mają robić.
- dlaczego jak zaznaczę myszką to co wpisałem w inputa i kliknę np. cyfrę "3" to dopisuje ją na koniec, a nie podmienia z całą zaznaczoną zawartością?
To parę uwag do poprawy wg mnie tak na początek. I nie pracuj z eval tylko zainteresuj się JavaScriptem prawdziwym, np. obiektem Math, konwersją string->number itp.