Czy są jakieś przemyślenia na temat tego, jak mogę przezwyciężyć ten blok mentalny i upewnić się, że moja aplikacja będzie skalowalna?
Sednem problemu nie jest skalowalność. Sednem problemu jest myślenie, że rozwiążesz go za pierwszym razem .
Powinieneś skupić się na pisaniu czystego kodu. Ponieważ czysty kod maksymalizuje wygodę, gdy (nieuchronnie) trzeba coś zmienić w przyszłości. I to jest prawdziwy cel, który powinieneś mieć.
Teraz próbujesz wymyślić idealny kod do napisania. Ale nawet jeśli uda ci się to zrobić, kto powie, że wymagania się nie zmienią, a może podejmowałeś decyzje na podstawie złych informacji lub złej komunikacji?
Nie możesz uniknąć błędów, nawet jeśli nie są to twoja wina. Skoncentruj się na pisaniu kodu, w którym łatwo będzie później zmienić rzeczy, zamiast mieć nadzieję na napisanie kodu, którego nie będziesz musiał zmieniać w przyszłości.
Po przywiązaniu do projektu i kodu, który już napisałem,
Absolutnie sympatyzuję z tym sentymentem. Ale przywiązanie do napisanego kodu jest problemem.
Jedyną rzeczą, która powinna być stała, jest chęć rozwiązania określonego problemu . Sposób, w jaki rozwiązujesz ten problem, jest tylko drugorzędną kwestią.
Jeśli jutro zostanie wydane nowe narzędzie, które zmniejszy bazę kodów o 80%, czy będzie ci przykro, że Twój kod nie jest już używany; czy będziesz szczęśliwy, że twoja baza kodu stała się mniejsza i dużo czystsza / łatwiejsza w zarządzaniu?
Jeśli to pierwsze, masz problem: nie widzisz rozwiązania dla kodu . Innymi słowy, skupiasz się na kodzie i nie widzisz większego obrazu (rozwiązania, które ma zapewnić).
Obawiam się, że wszelkie dodatkowe prace, które popełniam, zostaną w najbliższej przyszłości unieważnione, gdy okaże się, że aplikacja nie skaluje się dobrze wraz z rozwojem firmy.
To inny problem na inny dzień.
Po pierwsze, budujesz coś, co działa. Po drugie , poprawiasz kod, aby naprawić wszelkie błędy, które wciąż mogą się wyświetlać. To, co obecnie robisz, to powstrzymywanie się przed pierwszym zadaniem ze strachu przed koniecznością wykonania drugiego zadania.
Ale jaka jest inna opcja? Nie możesz powiedzieć przyszłości . Jeśli poświęcisz czas na zastanawianie się nad przyszłymi możliwościami, i tak zgadniesz . Zgadywanie jest zawsze podatne na popełnienie błędu.
Zamiast tego skompiluj aplikację i udowodnij , że rzeczywiście istnieje problem. A gdy problem zostanie wyjaśniony, zaczniesz go rozwiązywać.
Innymi słowy: Henry Ford nigdy nie zbudował samochodu zgodnego ze standardami / oczekiwaniami z 2018 roku. Ale gdyby nie zbudował Modelu T, wadliwego samochodu według współczesnych standardów, nikt nie zacząłby korzystać z samochodów, nie byłoby przemysłu motoryzacyjnego i nikt nie miałby samochodu, który mógłby następnie ulepszyć.
Poprosiłem pracodawców o kwestionowanie mojego wyboru polegającego na tym, że nie korzystam z ram frameworka podczas wywiadów, co spowodowało, że jeszcze bardziej wątpiłem w moją poprzednią pracę.
Ważną częścią tutaj nie jest to, z jakiego systemu korzystasz (każdy pracodawca, który cię ocenia, że nie wykonuje swojej pracy właściwie). Ważną częścią tutaj jest wiedza o tym, co robisz i dlaczego to robisz .
Na przykład możesz uniknąć istniejącego frameworka, ponieważ chcesz dowiedzieć się, dlaczego jest on przydatny, robiąc to najpierw. Lub możesz próbować stworzyć własny framework.
Jedyną złą odpowiedzią tutaj jest „nie wiem”, ponieważ pokazuje brak podejmowania świadomych decyzji. Że jest czerwona flaga dla pracodawcy.
Po prostu nie znam żadnych frameworków internetowych i nie wiem, z których zacząć korzystać.
Ten sam problem pojawia się tutaj. Rozwiązaniem jest nie myśleć więcej, ale działać:
- Przestań zastanawiać się nad idealną odpowiedzią .
- Wybierz ramy. Jeśli nie masz preferencji, wybierz losową. Użyj tarczy, rzuć kostką, rzuć monetą, wybierz kartę.
- Użyj tego.
- Podobało ci się to? Czy było coś, co cię denerwowało?
- Sprawdź, jak zapobiegać tym złym elementom. Czy niewłaściwie używałeś frameworka, czy może właśnie tak ma on działać?
- Gdy poczujesz, że masz kontrolę nad ramą (niezależnie od tego, czy ci się to podoba, czy nie), wybierz nową ramę i powtórz cykl.
Aby przeczytać więcej na ten temat, przeczytaj Sposób myślenia> sposób myślenia . Autor wyjaśnia to lepiej niż ja.
ale presja na ukończenie aplikacji rośnie, i rozważam złomowanie aplikacji całkowicie od nowa
Chyba że obecna baza kodów jest absolutnie niemożliwym do utrzymania bałaganem; podejmujesz odwrotną decyzję.
Programiści często myślą, że wyrzucenie rzeczy byłoby lepszym wyborem. To bardzo powszechne uczucie. Ale rzadko jest to właściwy wybór.
Wyrzucanie kodu i rozpoczynanie od zera jest jak utknięcie w korku na drodze do pracy, martwienie się, że spóźnisz się do pracy (spóźnisz się na termin), zamiast tego jedź do domu i spróbuj ponownie jechać tą samą drogą. To nie ma sensu. Możesz utknąć w korku, ale nadal jesteś bliżej pracy niż w domu.