Jak mówiłem - dla mnie to nie ma takiego znaczenia. IDE i tak inaczej koloruje funkcje instancyjne i globalne albo ze scope'u. Bp w IDE od JetBrains w Javie funkcje instancyjne są pisane normalnie, a funkcje statyczne są pochylone, dla mnie to wystarcza żeby się połapać. Poza tym, pisalem już w takiej ilości języków - i musiałem sobie radzić nie ważne czy this.
jest czy nie, że to nie robi mi różnicy specjalnej.
mam dokładnie takie samo zdanie. podświetlanie pokazuje co i jak, więc jeszcze bardziej to zmniejsza sens dokładania jawnego znacznika zasięgu, z którego chcemy skorzystać.
poza tym na co dzień programuję w scali, a tam jawnej mutowalności jest znacznie mniej niż w językach typowo imperatywnych, więc rzeczy typu pole = nowa wartość
robię bardzo rzadko.
może się zdarzyć, że dodanie this
uratuje komuś tyłek ;)
ja bym raczej szedł w stronę bezpieczniejszych konwencji, np. wszystkie zmienne statyczne są prywatne, linter jest skonfigurowany tak, żeby protestował przy próbie zmiany parametrów metody, itd
gdybym był w sytuacjach, gdzie mam przesłanianie zmiennych i muszę korzystać z this.
częściej niż bardzo rzadko (pomijając settery i konstruktory), to zastanawiałbym się czy ktoś przypadkiem nie chce mnie wepchnąć na minę. dlaczego ktoś celowo pcha się w przesłanianie zmiennych w nietrywialnych metodach?
biorąc pod uwagę javkę dla przykładu, zmienne statyczne nazywa się wielkimi literami, a zmienne lokalne to camel case, więc nie da się ich pomylić. zostaje więc pomylenie zmiennej lokalnej, parametru metody i pola w aktualnej klasie. wszystko jest w zasadzie lokalne, więc można się nieco zdyscyplinować i unikać niepotrzebnego przesłaniania zmiennych.
p.s. chyba nie zauważyłem, że temat bardziej o metodach niż polach.
jeśli chodzi o metody, to jeszcze mniej widzę sensu w dopisywaniu tego this.
, przynajmniej w javce. żeby mieć bezpośredni dostęp do statycznej metody spoza aktualnej klasy to trzeba ją najpierw zaimportować, a chyba się tego specjalnie często nie robi. podobnie jak w przypadku pól, wywołanie metody statycznej jest inaczej renderowane przez np. intellija niż wywołanie metody instancyjnej.
co do samego darta to, jak widzę z pobieżnej analizy przykładów, ma inaczej działające importy niż javka. w przypadku darta byłbym raczej skłonny korzystać z importów takiego typu (tzn. z as
):
import 'package:http/http.dart' as http;
wtedy od razu widziałbym z której biblioteki korzystam w miejscach wywołania. importowanie bez prefiksu to jak dla mnie robi śmietnik w aktualnym zasięgu, więc za każdym razem trzeba mieć do tego dobre wytłumaczenie.