it-swarm-eu.dev

Měl bych poukázat na pravopisné / gramatické chyby v něčím kódu?

Při kontrole kódu spolupracovníka jsem narazil na některé pravopisné chyby v názvech funkcí a také v gramatických chybách jako doesUserHasPermission() namísto doesUserHavePermission() v názvech funkcí a proměnných.

Měl bych na ně upozornit, nebo jsem příliš pozorný, když jsem si toho všiml?

109
Rahul

Kód s pravopisnými a gramatickými chybami je neudržitelný .

  • Lidé si nebudou pamatovat špatnou gramatiku, takže se pokusí zavolat funkci tak, jak měla být napsána, a tak vznikají chyby.

  • Pokud nevíte, jak se to hláskuje, nemůžete po něčem v kódu zlobit.

  • Většina lidí, kteří dělají gramatiku/hláskování, to dělá nekonzistentně, takže zavedou mnoho chyb s neshodným pojmenováním. To je obzvláště problematické v jazycích, které nevyžadují, aby byly proměnné před použitím výslovně deklarovány, protože můžete zavést nový pravopis a váš kód se nezastaví, aby vás informoval, že jste to udělali.

Náprava těchto problémů není pedantická a není nutně vyžadována primárně názory druhých na inteligenci, gramotnost atd. (I když je to velký vedlejší účinek); jde o psaní kvalita, udržovatelný kód.

210
HedgeMage

Ano, určitě. Je snadnější zapamatovat si jméno, pokud je gramaticky správné. Pokoušet se zapamatovat si jméno a gramatické chyby je úplně jiná věc.

39
Jason Baker

Neuvádějte je jako vady při formální revizi kódu. Místo toho si označte seznam a promluvte si s ním PRIVATELY o nich. Buďte o tom co nejvíc diplomatičtí, jen „Hej, něco, co jsem si všiml, a narazil jsem na lidi, kteří se na tuto věc opravdu dívají, myslí si, že programátor vypadá nedbalý a nedbalý.“

Pokud se jedná o kód, který zákazník uvidí, musí být zcela opraven. Ať se vám to líbí nebo ne, přemýšlí o reputaci vaší společnosti.

Pro příklad, který jste uvedl, mám podezření, že to začalo jako UserHasPermission, a někdo jiný mu řekl, že místní praxí je spíše UserBlahBlah () než UserBlahBlah (), a právě přehlédl gramatickou změnu.

28
John R. Strohm

Změňte to sami.

Doufejme, že jste v prostředí, kde kód „vlastnictví“ není problém. Pokud máte přístup k projektu v řízení zdroje, stačí jít a opravit sami. Pokud vidíte, že konkrétní spolupracovník dělá stejný typ gramatiky nebo pravopisných chyb důsledně, možná budete chtít poukázat na to, ale to bude záviset na vašem vztahu, zda je osoba rodilým mluvčím anglického jazyka, a jejich obecnou vnímavostí. Ale ať už jste se někdy rozhodli to udělat nebo ne, jen tiše jděte a udělejte opravu. Dělám to pořád, když vidím překlep, zejména v metodě podpisu nebo ve veřejném vlastnictví, spravím to. Občas nemohu ani odolat pokušení opravit překlep v komentáři, ale to jsem jen já :)

10
Marcie

Myslím, že stojí za to zmínit, že záhlaví HTTP referrer v protokolu HTTP bylo chybně označeno jako „referer“ (a musíme s ním žít/naučili jsme se s ním žít)) :)

6
Bunny Rabbit

Jsem vývojář, jehož rodným jazykem není angličtina, vlastně je to holandština, a vůbec by mu nevadilo, kdyby mi někdo ukázal gramatiku nebo pravopisnou chybu. Tímto způsobem mohu neustále zlepšovat svou angličtinu. A rozhodně není obtížné opravit všechny chyby ve všech zdrojových kódech. Jednoduchý skript Perl lze snadno zapsat do smyčky přes všechny soubory ve složce. Možná i to lze udělat pomocí sed? Nevím.

Určitě bych chtěl poukázat na gramatické nebo pravopisné chyby v kódu někoho jiného, ​​ale pouze v případě, že jsem si naprosto jistý, že je správné, co říkám.

6
user11317

Souhlasím s dalšími odpověďmi, že kód s gramatickými chybami je neudržitelný.

Chci také přidat několik věcí:

  • Kód často píší lidé, kteří nemluví dobře anglicky a/nebo angličtina není jejich rodným jazykem. Pokud se v kontrolovaném kódu vyskytne gramatická chyba, neznamená to, že váš spolupracovník provedl tuto chybu. Možná to byla jen kopie z webové stránky.
  • Pokud angličtina není rodným jazykem vašeho spolupracovníka, může být dobrý nebo velmi špatný nápad jí o této chybě říci. Když jsem z Francie, vždy vítám poznámky o chybách, které udělám v angličtině, protože je to jediný způsob, jak se jim v budoucnu vyhnout; na druhé straně vím několik lidí, kteří se cítí opravdu zraněni, když jim řeknete o gramatických chybách, které dělají.
  • Jak řekl John R. Strohm, nikdy to nedělejte veřejně. Většina lidí bude tímto opravdu naštvaná.
4
Arseni Mourzenko

Doporučil bych použít IDE s vestavěnou kontrolou pravopisu. IntelliJ Idea dělá skvělou práci pro programy Java). Existuje mnoho trapných překlepů, které chytí, nejen v názvech funkcí, ale např. ve výjimečných zprávách, které uživatel uvidí. Program, který vytváří zprávy plné překlepů, nevyvolává velkou důvěru.

2
Roman Zenka

Toto je malá chyba v kódu, ale je to chyba. Zacházejte s ním jako s jakoukoli jinou chybou, kterou najdete. Moje politika je vždy předpokládat, že mí spolupracovníci jsou kompetentní a jednat s nimi tak, dokud neprokáží opak.

Pokud je to jediná chyba, mohl bych to jen opravit a zkontrolovat. Pokud je to vzor, ​​mohl bych začít přimět toho spolupracovníka, aby zkontroloval tyto opravy. Dejte jim vědět, že si myslíte, že jsou dobrý kodér, ale že je to něco, co by bylo dobré vylepšit. Nemyslím si, že bych někdy něco takového udělal.

Pokud s tím nebudete zacházet, jako by to byl velký problém, mělo by být snadné umístit tohoto spolupracovníka do pozice, kde se může zlepšit, aniž by na linii uvedl ego.

0
overstood

Platí zlaté pravidlo

Udělejte ostatním, jak byste je nechali udělat vám.

Chci, aby ostatní měli v této věci záda, takže pomáhám ostatním. Být laskavý a podporující může jít ve dlouhou dobu ve váš prospěch.

0
kevpie

Stejně jako u mnoha jiných správných programovacích postupů je jediným objektivním, nepolitickým a efektivním způsobem provádění politiky pravopisu v programech automatizace jako součást procesu předběžného závazku. Automatizace vám ušetří obrovské množství stížností, i když pro tento účel musíte napsat vlastní nástroj.

0
Apalala

Dělám to jen tehdy

  • to má vliv na používání programu
  • ovlivňuje přesnost programu
  • Výslovně vím, že autor chce být napraven.

Stejně jako vedlejší poznámka, pokud jsou vaše funkční názvy dostatečně dlouhé na to, aby měly gramatiku, jsou pravděpodobně příliš dlouhé. V uvedeném příkladu bych zavolal funkci serHasPermission a přesunul "gramatiku" do vašeho kódu, něco takového:

if userHasPermission() ...
0
Mark Harrison

To se také stává v mém projektu A LOT (obýván domorodě hebrejsky, rusky nebo arabsky mluvícími lidmi), ale dokonce na vyšší úroveň - často vidím kód, který používá nějakou temnou terminologii, která se stane tím, co slovník vytvořil jako překlad pro co měl autor na mysli, a nemá to nic společného s tím, co mysleli ...

Osobně, když se to stane tak často a tolika členy týmu, kteří mohli napsat kód ještě předtím, než jsem se připojil k projektu, mám sklon jej ignorovat, protože na tom prostě nezáleží.

Pokud však provádím nějakou práci ve stejném souboru jako kód nebo komentáře, které byly napsány již dávno a mají překlepy, opravím je jen proto, že to není příliš mnoho práce.

0
Daniel Hershcovich