Wiekszy projekt w NodeJS

1

Czesc.
Pracowal ktos z was lub moze sam pisal jakis wiekszy projekt w NodeJS? Chcialbym zapytac o wrazenia pracy z czyms wiekszym.
Jak z utrzymaniem wiekszego kodu? Jakies spadki wydajnosci przy wiekszych projektach? Mam w planie system ecommerce w ktorym bedzie mozna zakladac sklepy (tak w skrocie) i zastanawiam sie nad wyborem Node...
Gdyby ktos laskawy sie wypowiedzial jak wrazenia. Bede wdzieczny.
Dzieki!

3

Duży projekt + język słabo dynamicznie typowany = boom.
Miałem nieprzyjemność pracować na ~3 milionach linii kodu w Pythonie (przynajmniej mocno typowany) i nie życzę największemu wrogowi.

0

Python słynie z bycia zwięzłym językiem, więc jeśli projekt miał 3 miliony kodu to obstawiam, że był to źle napisany kod w Pythonie.

Pracowal ktos z was lub moze sam pisal jakis wiekszy projekt w NodeJS?

Ciężko mi było się połapać, co który moduł robi i musiałem się pytać co chwila programistę, który to pisał. Zamiast pisać nowe ficzery, próbowałem najpierw zrozumieć w jaki sposób to jest zrobione (a dokumentacja była słaba).

Tylko jak dla mnie to też kwestia overengineeringu. Myślę, że w każdym przeinżynierowanym dużym projekcie byłby podobny problem. Człowiek po prostu nie jest czasem w stanie ogarnąć wszystkiego i zgadywać "co programista, który to pisał miał na myśli".

Często bywa tak, że projekty właśnie dlatego są duże, że są przeinżynierowane i zawierają mnóstwo niepotrzebnych abstrakcji.

Jakies spadki wydajnosci przy wiekszych projektach?

V8 jest szybkie, ale poza tym przecież wydajność to nie jest kwestia tylko języka. Baza danych, czy inne takie...

0

Zauważyłem, że większość marudzenia dot. JavaScriptu pochodzi od ludzi którzy w każdym innym języku będą pisać kod podobnej jakości i żadne typy i inne konstrukcje im nie pomogą. Pracuję od kilku lat we front-endzie, angażuje się w projekty Node.js'owe i naprawdę nieszczególnie mi ten JS przeszkadza. Pojawiają się np. argumenty "a bo w JS to można używać == i nie jesteś pewien typu danej zmiennej", ale czy koniec końców to języka wina, czy programisty?

0

Ja programuję w JS i o ile kiedyś broniłem tego języka, bo wkurzało mnie, że inni go wyśmiewali i nie doceniali języka... ale teraz...? Od czasów ES6 i dalej język JS broni się sam, jest tu tyle fajnych ficzerów, że naprawdę pozazdrościć. Co nie zmienia tego, że od czasów "use strict" chyba nie było jakiejkolwiek zmiany w języku, JavaScript aż do przesady zachowuje zasadę open-closed (czyli jest otwarty na rozszerzenia, ale zamknięty na modyfikację, ponieważ jakakolwiek modyfikacja języka może potencjalnie rozwalić pół internetu).

Co oznacza, że w JavaScripcie mnóstwo rzeczy jest kiepskich ("bad parts") i warto o tym mówić i to wyśmiewać, ew. ostrzegać innych przed tym, albo samemu się dziwić, jak dziwne rzeczy istnieją w tym języku.

Pojawiają się np. argumenty "a bo w JS to można używać == i nie jesteś pewien typu danej zmiennej", ale czy koniec końców to języka wina, czy programisty?

Teoretycznie to === jest "lepsze" ale też nie zawsze.

Po mojemu to np. porównując stringi nieznanego pochodzenia (np. z jakiejś zewnętrznej biblioteki) to lepiej użyć == bo nigdy nie masz pewności, czy jakaś biblioteka nie tworzy stringów przez new String albo nie tworzy zwykłych obiektów, do których doczepia metodę toString. W takich przypadkach == zwróci, zgodnie z intuicją true, natomiast === zwróci false, nawet jeśli napisy są takie same.

0

Przyszłość to Kotlin.js, Scala.js jeden język programowania do wszystkiego.

0

Typescript + node.js i można pisać ;)

0

Mi tylko brakuje Python.js i mam wszystko co potrzebuje do backendu i frontendu.

0
Szalony Orzeł napisał(a):

Mi tylko brakuje Python.js i mam wszystko co potrzebuje do backendu i frontendu.

i jeszcze brainfuck.js

1 użytkowników online, w tym zalogowanych: 0, gości: 1