Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: nazwy zmiennych, komentarze kodu - polskie czy angielskie?
Forum PHP.pl > Inne > Hydepark
land
Jakiego języka używacie w nazwach zmiennych oraz komentarzach w kodzie w lokalnych projektach (robionych przez polaków dla polaków) i dlaczego?

W projektach które mają być udostępnione światu lub prowadzone w międzynarodowym zespole to sprawa jest oczywista, angielski poszerza grono osób które mogą pracować nad kodem.
Oczywiście angielski jest podstawowym językiem w IT ale z jakiegoś powodu tłumaczenie dokumentacji technicznej z angielskiego na inne języki nie jest niczym szczególnie dziwnym. Czyli jest jakieś uzasadnienie dla używania języków narodowych.
peter13135
Zwykle jest tak, że programując korzystamy z funkcji "gotowych" (biblioteka standardowa, czy jakieś rozszerzenia, biblioteki itd). Są one pisane po angielsku. Trochę dziwnie wygląda kod:
  1. $wiersz = $wyniki->getRow()

Bo wiersz i row to jest to samo. Po co więc wprowadzać taki dualizm ?
Bo jakbyś się nie starał, ten angielski zawsze w kodzie zostanie i w połączeniu z polskim będzie dziwną mieszanką. Niektórzy uważają, że taka mieszanka jest fajna, bo pozwala rozróżnić zmienne/funkcje własne od innych.

Ja chętnie bym pisał zawsze w ang. Problem polega na tym, że gdy współpracuję z kodem, napisanym w języku polskim to już mam dylemat - czy zachować nomenklaturę polską, aby zachować spójność nazewnictwa z biblioteką, czy tłumaczyć to na angielski aby pisać "zgodnie z przykazaniami".
Comandeer
Skandal! Ja pisuję zmienne w esperanto, a w ankiecie nie ma takiej opcji!

A tak na poważnie: angielski, tylko i wyłącznie. Tak jak @peter13135 zauważył angielski de facto zawsze będzie w kodzie i warto się po prostu dostosować.
mrc
Znam kogoś, kto mi powiedział, że język polski pomaga mu oddzielić jego logikę od frameworka, dzięki czemu widzi, że operuje na swoich warstwach. Jak dla mnie, tylko angielski.
Tuminure
Cytat
Znam kogoś, kto mi powiedział, że język polski pomaga mu oddzielić jego logikę od frameworka, dzięki czemu widzi, że operuje na swoich warstwach

Szczerze mówiąc nie wiem jaką komuś robi różnicę - kod frameworka jest tak samo częścią projektu. Dodatkowo to żadna reguła - chcąc rozszerzyć klasę frameworka i nadpisać jej metodę, musiałby skorzystać z angielskiej nazwy metody i przestałby rozróżniać własną kod od kodu z frameworka w taki sposób.
land
Widzę, że odpowiedzi dotyczą tylko nazwy zmiennych, nikt nic nie napisał o komentarzach. Więc rozbiłem pytanie na dwa osobne o język w zmiennych i w komentarzach.

Do tej pory w łącznym pytaniu 20/20 głosów było oddanych na język angielski.
Lion
Wszystko po angielsku. Można przy okazji poćwiczyć pisanie w tym języku. A projekt, nawet o typowo lokalnym charakterze, może w każdej chwili zmienić się w globalny, np. gdy Twój pracodawca postanowi wymienić Cię na tańszego programistę z Indii wink.gif
land
Argument z ćwiczeniem języka jest średni. W pracy (o ile nie pracuje się w międzynarodowym zespole) też można z własnej nieprzymuszonej woli rozmawiać tylko angielsku aby sobie poćwiczyć język. Ile procent osób tak robi? Jeśli nie to dlaczego?
Comandeer
Komentarze mam też po angielsku, bo de facto są to albo bloki phpDoc/jsDoc, albo notka o licencji. Więcej komentów raczej nie mam.
com
tylko czekać jak ktoś zacznie pisać tak:
http://ideone.com/dskl7r tongue.gif

Oczywiście tylko angielski z oczywistych względów smile.gif
land
Cytat(com @ 7.08.2015, 00:24:52 ) *
tylko czekać jak ktoś zacznie pisać tak:
  1. <?php
  2. $Gżegżółka = "I <3 PL";
  3.  
  4. echo $Gżegżółka;
Jeśli ktoś tak bardzo kocha to czemu nie wink.gif

Jakie są te względy przemawiające tylko za angielskim, poza tym, że są oczywiste?
Dla niektórych, prawdopodobnie nawet dla większości piszących w PHP, używanie
  1. echo '<p>kod HTML…';
też jest oczywiste. Jednak to wątpliwy argument za.
mrc
Przede wszystkim - mieszanie różnych języków do kodu - gdyby każdy chciał pisać po swojemu, to być może symfony byłoby po izraelsku.
pyro
Cytat(mrc @ 7.08.2015, 15:15:50 ) *
Przede wszystkim - mieszanie różnych języków do kodu - gdyby każdy chciał pisać po swojemu, to być może symfony byłoby po izraelsku.


"izraelsku" - kurka, no serio? Słyszałeś kiedyś o języku hebrajskim?
Comandeer
Hebrajski i tak jest zarezerwowany do czynności rytualnych. Raczej byłoby w jidysz wink.gif

Co do powodów pisania po angielsku: wyobraź sobie jak miałoby funkcjonować środowisko programistów danego języka jeśliby każdy pisał we własnym języku. Papa GitHub choćby.

Jasne, jeśli projekt jest lokalny to można se go i w slangu pisać. Ale nigdy nie wiadomo czy np. nowy programista w firmie tą odmianę slangu zna. A tak - jeden standardowy język do wszystkiego.
land
Dyskusja odbiega od tematu wink.gif
Pytanie dotyczy wyłącznie lokalnych projektów (robionych przez polaków dla polaków). Bo w globalnych to nie ma się nad czym zastanawiać.

Symfony jak już to byłoby raczej po francusku.

Nie widzę żadnego wpływu na środowisko programistów tego, jaki język zostanie użyty do komentarzy a nawet nazw zmiennych w projektach które nigdy nie wyjdą z danego kraju. Można by nawet powiedzieć, że użycie lokalnego języka może być zaletą, bo pewnie są też tacy programiści którzy nie znają angielskiego lub znają go bardzo słabo i można ich również wtedy użyć do dalszego rozwoju projektu.
Pyton_000
Z danego kraju.... a to w Polsze nie ma obcokrajowców?

Angielski zawsze i wszędzie. Po swojemu to można pisać pliki które nigdy nie wyjdą z komputera gdziekolwiek.
Poza tym trzeba wyrabiać w sobie dobre nawyki.

Cytat
Można by nawet powiedzieć, że użycie lokalnego języka może być zaletą, bo pewnie są też tacy programiści którzy nie znają angielskiego lub znają go bardzo słabo i można ich również wtedy użyć do dalszego rozwoju projektu.

To nie jest argument. Nie ma najmniejszego powodu aby zaniżać poziom do najsłabszego. Jak ktoś nie umie to albo niech zmieni zawód albo się uczy. Innego rozwiązania nie ma.

CuteOne
Pomijając słuszność pisania po angielsku, o którym wspomnieli powyżej koledzy, pozostaje sam fakt, że mimo wszystko po angielsku kod wygląda bardziej profesjonalnie

Porównując trzy możliwe sytuacje

  1. foreach ($qb->getQuery()->getResult() as $row) {
  2. $tmpArray[] = $row->getUser()->getTranslation()->count();
  3. }


  1. foreach ($qb->getQuery()->getResult() as $wiersz) {
  2. $tymTablica[] = $wiersz->getUzytkownik()->getTlumaczenie()->count();
  3. }


  1. foreach ($pb->otrzymajPytanie()->otrzymajRezultat() as $wiersz) {
  2. $tymTablica[] = $wiersz->otrzymajUzytkownika()->otrzymajTlumaczenie()->liczyc();
  3. }


odpowiedź jest oczywista
Comandeer
Bardzo mnie ciekawi przypadek programisty, który nie umie angielskiego… To w jaki sposób czyta on jakąkolwiek dokumentację?
memory
tak samo jak kiedyś oglądało się bajki na Cartoon Network :]
Pyton_000
Czyli po obrazkach?
land
Cytat(Pyton_000 @ 7.08.2015, 19:55:06 ) *
Z danego kraju.... a to w Polsze nie ma obcokrajowców?

(…) Nie ma najmniejszego powodu aby zaniżać poziom do najsłabszego. Jak ktoś nie umie to albo niech zmieni zawód albo się uczy. Innego rozwiązania nie ma.

Z pewnością w Polsce liczba programistów obcokrajowców nie znających polskiego jest marginalna i mniejsza niż programistów nie znających angielskiego. Nie sądzę, aby Polska szczególnie przyciągała zagranicznych programistów. Śmiem nawet twierdzić, że robimy dla zagranicznych klientów z tego samego powodu co Hindusi.

Oczywiście trzeba być coraz lepszym, a nie zadowalać się tym, że umiem to co inni. Jednak z punktu widzenia programisty, to chyba łatwiej pozyskać kogoś słabszego niż dobrego. Jednak skutki mogą być różne.

Pyton_000 wyczytałem, że rekrutowałeś ludzi. Łatwo jest znaleźć kogoś na wymaganym poziomie, czy musiałeś zadowalać się tym co było? Jeśli dało się znaleźć to ile to trwało?


Cytat(Comandeer @ 7.08.2015, 21:38:45 ) *
Bardzo mnie ciekawi przypadek programisty, który nie umie angielskiego… To w jaki sposób czyta on jakąkolwiek dokumentację?

Nie wiem jak, ale się zdarza, zresztą do popularniejszych rzeczy przeważnie przynajmniej część dokumentacji jest przetłumaczona. Masz ograniczone pole,a le zawsze coś masz.

Już kilka razy widziałem jak ktoś zadaje pytanie, dostaje w odpowiedzi linka, a później pyta się o jakąś rzecz która jest dobrze opisana na tej stronie. Na pytanie co jest niejasne odpowiada, że nie może zrozumieć tłumaczenia z google translatora.
Comandeer
Cytat
Już kilka razy widziałem jak ktoś zadaje pytanie, dostaje w odpowiedzi linka, a później pyta się o jakąś rzecz która jest dobrze opisana na tej stronie. Na pytanie co jest niejasne odpowiada, że nie może zrozumieć tłumaczenia z google translatora.

Może zabrzmię okrutnie, ale: usługi tłumaczeniowe kosztują. Osobiście angielskiego nauczyłem się de facto dzięki wszelkich stronom typu SO czy blogom poszczególnych "rockstars" webdevu.

Cytat
do popularniejszych rzeczy przeważnie przynajmniej część dokumentacji jest przetłumaczona

Czy istnieje choćby polska wersja dokumentacji angular.js? Natomiast polskie tłumaczenia często i tak są kulawe (Cookbook → Receptariusz czy choćby tłumaczenia PSR, które w niektórych miejscach kłują w oczy). Pomijam już fakt, że nawet jak takie polskie wersje istnieją, to często są nieaktualne i bardziej szkodzą niż pomagają.

Angielski w środowisku to niestety must-have i jak ktoś go nie zna, to w zasadzie to już jest jego problem. Jeśli cokolwiek sensownego chce ugrać, ten język znać po prostu musi.
Lion
Cytat(land @ 4.08.2015, 21:02:42 ) *
Argument z ćwiczeniem języka jest średni. W pracy (o ile nie pracuje się w międzynarodowym zespole) też można z własnej nieprzymuszonej woli rozmawiać tylko angielsku aby sobie poćwiczyć język. Ile procent osób tak robi? Jeśli nie to dlaczego?


Ale z pisaniem komentarzy jest tak, że nie wiesz kto to może w przyszłości przeczytać więc, przynajmniej takie jest moje podejście, będziesz się się starał aby było to poprawnie gramatycznie i w miarę sensowne. Chyba nie chcesz żeby ktoś czytając te komentarze pomyślał o Tobie coś złego jak o programiście lub ocenił negatywnie Twój poziom języka angielskiego.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.