Szybki kombinezon: przeczytaj ten wspaniały artykuł w Coding Horror
Ilekroć omawiam kod przez telefon, nigdy go nie czytam dosłownie. Musisz go „skompilować” z człowiekiem, a jeśli nadal jest zamieszanie na drugim końcu linii, możesz przejść do bardziej dosłownego czytania. Na przykład przeczytałbym twój przykład jako
„Jeśli bar jest prawdą, zwiększ wskaźnik baz i przypisz wartość pod tym adresem do foo. W przeciwnym razie ustaw foo na zardoz.”
Od połowy lat 90. jestem pełnoetatowym telepracownikiem, więc praktycznie wszystkie moje interakcje z kolegami odbywały się przez telefon lub w inny pośredni sposób. Bardzo często udostępniamy sesję screen (terminal) lub VNC (X). Oprócz zwykłej koleżeństwa spędzamy cały dzień na rozmowach o kodzie, projektowaniu, planowaniu itp.
Kiedy mówimy o kodzie, używamy żargonu, który jest ściśle powiązany z rodzajem projektu. Jednym z (wielu) powodów, dla których nowy członek grupy musi być w pełni funkcjonalny, jest to, że zasadniczo uczą się nowego języka za każdym razem, gdy dołączają do nowego działu / firmy.
Jak powiedziałem powyżej i jak powiedzieli inni, staramy się rozmawiać na tak wysokim poziomie, jaki jest odpowiedni dla każdej dyskusji. Ale czasami naprawdę musisz po prostu powiedzieć komuś: „Wpisz to”
Jak to powiedzieć? Cóż, moglibyśmy podać takie wyliczenie jak ...
~ tilde
` backtick
' single quote
" quote (or double quote)
/ slash, \ is backslash
# pound or hash
! bang (or exclamation mark)
@ at
$ dollar
% percent or mod
^ caret or xor
& and or bitwise and
&& and or logical and
| pipe or 'or' or bitwise or
|| 'or'
* value of, times, glob, multiplied by
() parens, open paren, close paren
{} braces, curlies, open stash, close stash
[] brackets, square brackets, at & sub (for subscript) (for C-ish arrays)
...
Tak właśnie „my” wypowiadamy te postacie. Aby zapoznać się z całym zakresem powiedzenia „#”, zajrzyj na stronę wiki dla #
Więc jest za dużo zmienności. Musi być specyficzny dla języka, w którym się piszesz (tak jak piszę to po angielsku dla naszej ludzkiej komunikacji).
Bez kontekstu językowego musiałbyś ciągle powracać do pisowni znak po znaku. Więc większość ludzi, których znam, wraca do tego, co standard językowy nazywa.
SELECT COUNT(*) INTO x FROM ... (SQL)
X IS Y + 1 (Prolog)
(setq x 40) (Emacs lisp)
/def x 40 (PostScript)
x = 40 (C)
$x = 40 (Perl)
Każdy z nich byłby sugerowany przez powiedzenie „Ustaw X na ...” w odpowiednim kontekście. Nawet nie zaczynaj od tego, który kod jest czytany jako „ciąg X jest równy ciągowi Y”.
Jeśli powiesz „hash bang bin bash” lub „shebang bash”, prawie wszyscy będą wiedzieć, że oznacza to „#! / Bin / bash”. Jeśli tego nie zrobią, powiedzą „hę?”, A ty zejdziesz na dół „Na górze pliku: znak funta, wykrzyknik, ukośnik, kosz, ukośnik, ukośnik, nowa linia”. Jeśli nadal go nie rozumieją, cofnij go jeszcze raz: „Widzisz tę klawiaturę przed sobą? Widzisz klawisz„ 3 ”? Ten znak na górze po naciśnięciu klawisza Shift jest znakiem funta”.
Dolna linia:
- nie przejmuj się tym zbytnio, pomylisz się, wszyscy to przeżyją
- jest zbyt specyficzne dla tego, co robisz
- zawsze noś ręcznik
- przeczytaj artykuł w Coding Horror