Sufiks "Async" w metodach

Odpowiedz Nowy wątek
2020-06-24 21:21

Rejestracja: 2 lata temu

Ostatnio: 7 godzin temu

0

Dołączacie sufiks Async do metod asynchronicznych?

Pozostało 580 znaków

2020-06-24 22:00

Rejestracja: 5 lat temu

Ostatnio: 11 godzin temu

Lokalizacja: Krakow

1

Tak

Pozostało 580 znaków

2020-06-24 22:01
Moderator

Rejestracja: 12 lat temu

Ostatnio: 3 godziny temu

Lokalizacja: Wrocław

6

W pracy tak, bo się czepiają na review.
Tak normalnie, to nie.


"HUMAN BEINGS MAKE LIFE SO INTERESTING. DO YOU KNOW, THAT IN A UNIVERSE SO FULL OF WONDERS, THEY HAVE MANAGED TO INVENT BOREDOM."
edytowany 1x, ostatnio: somekind, 2020-06-24 22:01

Pozostało 580 znaków

2020-06-24 22:20

Rejestracja: 4 lata temu

Ostatnio: 4 godziny temu

Lokalizacja: UK

11

Nie używam i jestem przeciwnikiem stosowania Async w nazwach metod i całkiem niedawno z mojej inicjatywy w pracy wprowadziliśmy nową konwencję aby tego nie stosować, i powoli usuwać z istniejących metod w ramach scout rule które stosujemy. Główne powody są trzy:

  1. Suffix Async został wprowadzony przez Microsoftu w celu zachowania wstecznej kompatybilności. Po prostu dla metod synchronicznych wprowadzono odpowiedniki asynchroniczne, a ponieważ na podstawie zwracanego typu metody w C# nie można przeciążyć metody, to MS musiał coś wymyślić.
  2. Wystarczy spojrzeć na to że metoda zwraca Task by wiedzieć że można ją wywołać asynchronicznie.
  3. Nowe właściwości języka nie powinny rzutować na to jak nazywamy elementy naszego kodu. W przeciwnym razie za każdym razem kiedy wychodzi jakaś nowa, ważna cecha języka można by wprowadzać nową konwencję nazewnictwa. Np. można by sobie wymyślić że po wprowadzeniu w C# Value Tuple każda metoda zwracająca tenże typ powinna mieć suffix Tuple... Nie mówiąc już o tym że zawsze powtarzam że nazewnictwo w kodzie powinno odzwierciedlać domenę i procesy biznesowe, a więc pomijać technikalia chyba że to jest absolutnie niezbędne (bo np. metoda robi coś bardzo technicznego, co zazwyczaj znajdzie się w najniższych warstwach kodu infrastruktury).

Na każdy złożony problem istnieje rozwiązanie które jest proste, szybkie i błędne.
edytowany 3x, ostatnio: Aventus, 2020-06-24 22:24
No generalnie to miałem na myśli. Niestety ciężko przekonywać ludzi w pracy do tego, że nie trzeba trzymać się zasad frameworka, skoro nie piszemy frameworka. - somekind 2020-06-25 12:37
Wystarczy spojrzeć na to że metoda zwraca Task by wiedzieć że można ją wywołać asynchronicznie nie tyle można co zazwyczaj trzeba. A jak się przeoczy to można się zdziwić że program poszedł dalej gdy spodziewaliśmy się synchronicznej akcji. - obscurity 2020-07-01 18:02
@ obscurity Teoretycznie tak, w praktyce rzadko byłem świadkiem takich problemów. Nie oznacza to że nic takiego się nie zdarzyło oczywiście, ale moim zdaniem nie jest to przeważający argument za tym żeby stosować ten sufiks. - Aventus 2020-07-01 19:03

Pozostało 580 znaków

var
2020-06-25 09:18
var

Rejestracja: 2 lata temu

Ostatnio: 7 godzin temu

Lokalizacja: Wrocław

1

Nie

Pozostało 580 znaków

2020-06-25 09:50

Rejestracja: 2 lata temu

Ostatnio: 9 godzin temu

Lokalizacja: Jastrzębie-Zdrój

1

Nie

Pozostało 580 znaków

2020-06-25 10:41

Rejestracja: 17 lat temu

Ostatnio: 4 dni temu

1

Nie

Pozostało 580 znaków

2020-06-25 13:14

Rejestracja: 6 lat temu

Ostatnio: 9 godzin temu

Lokalizacja: Gdańsk

1
somekind napisał(a):

W pracy tak, bo się czepiają na review.
Tak normalnie, to nie.

Tak samo


Pozostało 580 znaków

2020-06-25 21:59

Rejestracja: 3 lata temu

Ostatnio: 8 godzin temu

Lokalizacja: Polska

1
Kokoniłaj napisał(a):

Dołączacie sufiks Async do metod asynchronicznych?

Ja czytałem, że nie ma zasady i to zależy od przyjętej konwencji.

edytowany 1x, ostatnio: bakunet, 2020-06-25 21:59

Pozostało 580 znaków

2020-07-01 15:10

Rejestracja: 1 miesiąc temu

Ostatnio: 1 miesiąc temu

1
Kokoniłaj napisał(a):

Dołączacie sufiks Async do metod asynchronicznych?

Tak. W wielu różnych bibliotekach występuje taka konwencja. Przyjemniej mi się czyta tak napisany kod.

Pozostało 580 znaków

2020-07-01 16:51

Rejestracja: 6 lat temu

Ostatnio: 9 godzin temu

Lokalizacja: Gdańsk

1
XardasLord napisał(a):
somekind napisał(a):

W pracy tak, bo się czepiają na review.
Tak normalnie, to nie.

Tak samo

W kolejnym projekcie który rozpoczęliśmy przegadaliśmy sprawę i odeszliśmy od tej konwencji.


Pozostało 580 znaków

Odpowiedz

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0