W tej chwili piszę w Ruby, PHP, Javie, C i JavaScript i będę pisać przez co najmniej 1 godzinę każdego z nich każdego dnia. Głównym problemem jest tak naprawdę znalezienie czasu, ponieważ wszystkie dotyczą niepowiązanych projektów.
Przesunięcie mentalne
Mój styl pracy jest taki, że lubię pracować przez dłuższy czas. Niestety, oznacza to, że jeśli mam tylko jedną rzecz, gdy napotkam blok myślowy z fragmentem kodu, zajmie mi to dużo czasu, aby go pokonać. Nie uważam też, że przerwa pomaga. Dysponując innymi projektami, a zwłaszcza innymi językami, aby przejść do trybu utknięcia, gdy wrócę do oryginalnego języka, natychmiast mam rozwiązanie.
Dlatego tak, nastąpiła zmiana mentalna i myślę, że dzięki temu jestem znacznie bardziej produktywny.
Priorytetyzacja zadań
Używam menedżera zadań (gTasks dla Androida) i mam osobną listę rzeczy do zrobienia dla każdego projektu. Jeśli projekt wymaga wielu języków, nie rozdzielam ich. Dzieje się tak zwykle dlatego, że będą w jakiś sposób silnie powiązane. Na przykład JavaScript i Ruby do robienia rzeczy AJAX. Jeśli języki są technicznie dla tego samego projektu, ale projekt jest tak duży, że zasadniczo nie są ze sobą powiązane, prawdopodobnie liczę je jako osobne projekty.
Ogólnie rzecz biorąc, moim priorytetem jest „dowolna lista, która ma najwięcej zadań”, ale zawsze się przełączam, jeśli utknę na problemie.
Konwencje kodowania
To trochę mieszanka:
- Jeśli projekt zostanie opracowany wspólnie z innymi, to oczywiście dostosuję się do konwencji przyjętych dla tego projektu.
- Jeśli projekt jest osobisty, podoba mi się, że mój kod wygląda spójnie z dominującym stylem w bibliotece społeczności / standardowej dla danego języka. Trudno mi odczytać kod Java, jeśli na przykład wszystkie funkcje użytkownika znajdują się w obudowie snake_case. Podobnie metody camelCase w Ruby wyglądają dziwnie i nie na miejscu.
- W przypadku konwencji, które nie są oczywiste z prostego używania języka, takich jak wcięcia, będę dążył do przyjęcia własnych standardów i stosowania ich we wszystkich używanych przeze mnie językach. W przypadku wcięcia zawsze używam 2 spacji. Dla stylu nawiasów klamrowych zawsze używam tego, co Wikipedia decyduje się nazywać Stylem Czytelności Kompaktowej Kontroli .
Poza tym: Największym wyzwaniem jest dla mnie zmiana języków stylów. Bardzo trudno jest ścigać się razem, kodując SASS razem z Ruby, a następnie zmuszając się do powrotu do CSS dla całej reszty. W mniejszym stopniu mam ten sam problem z HAML / HTML i JSON / XML.
.equals
javascript. Przynajmniej zawsze mylę się w ten sposób, zamiast używać==
w Javie.