Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Явное задание типа. ХЕЕЕЕЛЛЛППП !!!!! (https://javascript.ru/forum/misc/37932-yavnoe-zadanie-tipa-kheeeelllppp.html)

bes 06.07.2013 23:15

по-моему это только твоя привычка, как выяснилось ещё с 80-х

nerv_ 06.07.2013 23:35

Цитата:

Сообщение от eugenk
Короче господа. Проект мой разросся примерно до 5К строк. Сдал я его, получил денюшку и на том успокоился. Но вчера написал заказчик и попросил добавить довольно сложную фичу - возможность создавать в базе данных произвольные типы и произвольные связи между типами. Выльется это на клиенте в редактор произвольных форм, причем с довольно специальными свойствами. Но не в том беда, написать напишу. Беда в том, что глянул я на свой код и просто опустились руки. Стало ясным, что зря я с самого начала поленился, не послушался местных гуру и не перевел проект на typescript, пока там была 1000 строк. Теперь стало совершенно очевидным, что на javascript писать дальше нельзя.

Не вижу связи между динамической типизацией и неумением проектировать приложения.
5000 строк - это небольшой проект :)

Цитата:

Сообщение от eugenk
И весь мой опыт говорит, что языки, не допускающие статической типизации, это АБСОЛЮТНОЕ ЗЛО.

я писал на языке со статической типизацией, и мой опыт говорит, что ваш опыт не прав :D думаю, вы просто не знаете js на должном уровне и/или не умете строить на нем приложения.

eugenk 07.07.2013 17:17

nerv_, можно с этого места подробнее ? Как по-Вашему нужно проектировать приложения ? Что Вам помогает отслеживать ошибки ? Точнее не ошибки даже, а скорее описки, когда вместо названия поля width Вы написали widht ? При статической типизации выругается компилятор. 100% динамический язык поймет ситуацию так, будто Вы вводите новое поле с названием widht в дополнение к существующему width. Поймите, я не подколки ради спрашиваю. Мне правда очень интересно, как народ работает там, где я чувствую себя со связанными руками. А 5К строк, таки да, согласен. Это немного. На С++ я пишу такое за месяц. Но на js почувствовал что это уже предел.

bes 07.07.2013 19:34

Цитата:

Сообщение от eugenk
Что Вам помогает отслеживать ошибки ? Точнее не ошибки даже, а скорее описки, когда вместо названия поля width Вы написали widht ?

кто-то мешает посмотреть в консоль?
var width = 100;
var g = 100 + widht; //Uncaught ReferenceError: widht is not defined

mta88 07.07.2013 20:02

Цитата:

сам я серьезно программирую где-то с середины 80-х
Цитата:

И весь мой опыт говорит, что языки, не допускающие статической типизации, это АБСОЛЮТНОЕ ЗЛО.
странно, а мне казалось что известные среди программистов "старички" предпочитают языки с динамической типизацией
и это ЗЛО не такое уж и АБСОЛЮТНОЕ, что доказывают миллиарды строк кода, большая популярность и серъезные проекты

Цитата:

Как по-Вашему нужно проектировать приложения ? Что Вам помогает отслеживать ошибки ? Точнее не ошибки даже, а скорее описки
то есть кроме описок никаких ошибок в программах у вас не бывает? логических? архитектурных?

Цитата:

Мне правда очень интересно, как народ работает там, где я чувствую себя со связанными руками.
видимо они применяют автоматизированное тестирование и паттерны проектирования
а вы тестируете свой код?

чтобы оценить ваш авторитет, неплохо бы увидеть немного кода из обсуждаемого проекта, скажем строк 300
может это вы пишете на javascript как на fortran :)

eugenk 07.07.2013 20:38

mta88, меня сейчас интересуют именно описки. Ибо если среди всего прочего будут присутствовать и они, вообще слабо себе представляю, как с этим можно работать. В статических языках всё это отсекает компилятор. Как я тестирую свой код ? Хороший вопрос. Ответ - как придется. Ошибки у меня главным образом алгоритмические. Глупые описки не позволяет делать компилятор. Архитектурные вещи как правило решаются на этапе проектирования. Алгоритмы - это да. Поэтому обычно пишу некий связный кусок в несколько методов (не обязательно даже цельный класс). А потом это тестирую на каких-то примерах. Кстати иногда бывает и так, что для тестов приходится писать некий инструментарий и тестировать его самого. Если знаете как тестировать проще - подскажите.
По поводу 300 строк из моего кода - не знаю что Вам это даст. Пишу на jquery+jqueryui. 300 строк решают какую-то достаточно частную задачу. Да, наверняка не оптимально, ибо в js я новичок. Мне бы куда больше хотелось увидеть какой-нибудь Ваш законченный проект на 3-10 тысяч строк. Ибо интересуют не частные задачи, а МЕТОДОЛОГИЯ и АРХИТЕКТУРА. Я в свою очередь обязуюсь выставить на суд публики свой проект, после того как переведу его на typescript. Если народ тут никогда не писал на статических языках, возможно кто-то поймет, насколько оно хорошо и удобно.

bes 07.07.2013 20:52

Цитата:

Сообщение от eugenk
Если народ тут никогда не писал на статических языках, возможно кто-то поймет, насколько оно хорошо и удобно.

java vs javascript
и js у меня в большем авторитете :)

и, чувак, ты игнорируешь мои посты ;)

eugenk 07.07.2013 21:47

java vs javascript
и js у меня в большем авторитете

и, чувак, ты игнорируешь мои посты
===================================
Если не трудно ссылочку дайте плз. Я вобщем-то форум не особо смотрю. Мог и не увидеть. Без обид. Ок ?

nerv_ 07.07.2013 22:26

Цитата:

Сообщение от eugenk
Точнее не ошибки даже, а скорее описки, когда вместо названия поля width Вы написали widht

1. возможно, вам пригодится строгий режим (если вы его еще не используете)
'use strict';

2. используйте нормальную ide. Они даже цветом выделяют :)

bes 07.07.2013 23:17

Цитата:

Сообщение от eugenk
Если не трудно ссылочку дайте плз. Я вобщем-то форум не особо смотрю. Мог и не увидеть. Без обид. Ок ?

открываешь свою тему (эту, которую сейчас читаешь), смотришь сообщения в ней, где видишь мою аватарку и написано bes, там и моё сообщение непосредственно ниже (не в другой же теме я с тобой разговариваю, или ты только последнее сообщение в теме читаешь :) )


Часовой пояс GMT +3, время: 00:44.