Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Разработка, перепись. / 23 сообщений из 23, страница 1 из 1
20.12.2007, 13:50
    #35023226
All Alone
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разработка, перепись.
Здравствуйте.

Есть некий язык. Отстойный или нет, это не важно. Смысл в том, что все переменный глобальны. Есть функции, есть стандартный набор мат. функций, конструкций языка. Нет ООП в самом языке. Есть возможность обращения к COM объектам, БД, HTTP. Код очень плох и местами безбашенен. Хреновая поддержка ловли ошибок. То есть, нет try catch-ей. Вот хотел спросить может, есть какой-то опыт, советы, методы, способы построения таких приложений у кого-то из вас?
...
Рейтинг: 0 / 0
20.12.2007, 14:58
    #35023544
Akh
Akh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разработка, перепись.
Рефакторинг
...
Рейтинг: 0 / 0
20.12.2007, 15:03
    #35023568
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разработка, перепись.
VbScript ?
...
Рейтинг: 0 / 0
20.12.2007, 15:47
    #35023807
:(
:(
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разработка, перепись.
ПэХаПэ?
...
Рейтинг: 0 / 0
20.12.2007, 15:52
    #35023850
All Alone
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разработка, перепись.
AkhРефакторинг
Это понятно. Но какие методы кодинга в таких ограниченных условиях у языка. Может быть, есть какая-то инфа?

ИзопропилVbScript ?
Очень похож. Добавь еще JScript.

:(ПэХаПэ?
Да нет. ПЫх покруче).
...
Рейтинг: 0 / 0
20.12.2007, 15:59
    #35023893
All Alone
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разработка, перепись.
Да и еще. Переменные передать напрямую в функцию нельзя. Как лучше строить всё. То есть, имеем кучу функций и по ним скачем. Как лучше проектировать код, чтоб несколько людей могли юзать то, что дурогой пишет. И чтоб это не превращалось в большую кучу кала?
...
Рейтинг: 0 / 0
20.12.2007, 16:20
    #35023986
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разработка, перепись.
авторПеременные передать напрямую в функцию нельзяНет, не VBS,JS,1C и тем более PHP.

Написать кросскомпилятор с нормального языка(да хоть с Basic) на это уёжище.
...
Рейтинг: 0 / 0
20.12.2007, 16:21
    #35023990
NotGonnaGetUs
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разработка, перепись.
All AloneДа и еще. Переменные передать напрямую в функцию нельзя. Как лучше строить всё. То есть, имеем кучу функций и по ним скачем. Как лучше проектировать код, чтоб несколько людей могли юзать то, что дурогой пишет. И чтоб это не превращалось в большую кучу кала?

Писать на "нормальном" языке, а потом генерить по исходникам код на "не нормальном" и никогда его на прямую не править :)
...
Рейтинг: 0 / 0
20.12.2007, 16:22
    #35023996
NotGonnaGetUs
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разработка, перепись.
ИзопропилНаписать кросскомпилятор с нормального языка(да хоть с Basic) на это уёжище.
У дураков мысли сходятся :)
...
Рейтинг: 0 / 0
20.12.2007, 16:33
    #35024052
All Alone
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разработка, перепись.
Изопропил авторПеременные передать напрямую в функцию нельзяНет, не VBS,JS,1C и тем более PHP.

Написать кросскомпилятор с нормального языка(да хоть с Basic) на это уёжище.
Интересный подход. Но думаю, у нас будет второе. Писать долго первый вариант и отлаживать его, чтоб он выдавал всё правильно. Тут понимаете нужно еще привести сами блоки этого кала в нормальный человеческий вид. И на это нужно тоже время и не малое. А потом уже, быть может, можно и ваш вариант так, скажем, натягивать.
...
Рейтинг: 0 / 0
20.12.2007, 16:38
    #35024077
All Alone
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разработка, перепись.
NotGonnaGetUs All AloneДа и еще. Переменные передать напрямую в функцию нельзя. Как лучше строить всё. То есть, имеем кучу функций и по ним скачем. Как лучше проектировать код, чтоб несколько людей могли юзать то, что дурогой пишет. И чтоб это не превращалось в большую кучу кала?

Писать на "нормальном" языке, а потом генерить по исходникам код на "не нормальном" и никогда его на прямую не править :)
Да, так в принципе можно. Но в конце код на этом недоязыке нужно компильнуть, но это не проблема в принципе думаю. Но мне интересно было узнать, как сам код в таких условиях строить, как вздумается? Ну, минимум можно там название функциям, переменным давать в каких-то стандартах.
...
Рейтинг: 0 / 0
20.12.2007, 16:55
    #35024161
belugin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разработка, перепись.
обновить резюме
...
Рейтинг: 0 / 0
20.12.2007, 17:03
    #35024201
All Alone
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разработка, перепись.
beluginобновить резюме
зачем?
...
Рейтинг: 0 / 0
20.12.2007, 18:01
    #35024427
belugin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разработка, перепись.
All Alone beluginобновить резюме
зачем?

Цитата недавноего обсуждения в RSDN подобной вещи:
...
А на выяснение того, как оно работает и, особенно, как оно _должно_ работать, уйудет море времени и сил — прослеживание всех цепочек вызовов, выяснение всех граничных случаев и всех расхождений, выяснение, как каждое аукнется в видимом юзеру интерфейсе, и после этого выяснение у юзера, где оно работает корректно, а где — нет, причем в 3/4 случаев ответ юзера будет "не знаю, это было очень давно, еще до меня, и этой фичей мы пользуемся раз в месяц".
Если кому очень нравится подобной работой заниматься — велкам, но для меня эта работа сродни "у нас тут мусорное ведро стоит, заполненное до краев, и если подозрение, что мы туда выкинули что-то важное — так что ты посмотри, пожалуйста, что там и как
...
...
Рейтинг: 0 / 0
20.12.2007, 18:19
    #35024473
NotGonnaGetUs
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разработка, перепись.
All AloneНо мне интересно было узнать, как сам код в таких условиях строить, как вздумается? Ну, минимум можно там название функциям, переменным давать в каких-то стандартах.

Жёсткая дисциплина, что тут ещё посоветуешь.

Ввести стандарты именования переменных/функций, обязательные комментарии к тем и другим в максимально полной форме описывающие записимости и большую палку, чтобы убеждать всех в необходимости этим заниматься :)
...
Рейтинг: 0 / 0
20.12.2007, 18:23
    #35024493
All Alone
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разработка, перепись.
belugin All Aloneзачем?

Цитата недавноего обсуждения в RSDN подобной вещи:
...
А на выяснение того, как оно работает и, особенно, как оно _должно_ работать, уйудет море времени и сил — прослеживание всех цепочек вызовов, выяснение всех граничных случаев и всех расхождений, выяснение, как каждое аукнется в видимом юзеру интерфейсе, и после этого выяснение у юзера, где оно работает корректно, а где — нет, причем в 3/4 случаев ответ юзера будет "не знаю, это было очень давно, еще до меня, и этой фичей мы пользуемся раз в месяц".
Если кому очень нравится подобной работой заниматься — велкам, но для меня эта работа сродни "у нас тут мусорное ведро стоит, заполненное до краев, и если подозрение, что мы туда выкинули что-то важное — так что ты посмотри, пожалуйста, что там и как
...

Да нее - это не выход. Есть в принципе рабочая платформа и приносит она не малый доход. Пишется код на долбанутом языке - это главный минус и так как быдлаков много и они не задумываются, а чего там после меня будет-то? - да пох. И вот это всё превратилось уже внутри в огромную кучу и нужно это привести в норму и отрефактить. И начальство в принципе созрело. Сама платформа нормальная и рабочая вполне. Просто ее запустили совсем, а изначально не задумывались ни о чем. А что про другое место? А в другом месте тоже будет помойное ведро, только может модель ведра будет отличатся.
...
Рейтинг: 0 / 0
20.12.2007, 19:09
    #35024614
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разработка, перепись.
Все мы в подобных помойных ведрах ковыряемся... Мое сегодняшнее называется Focus. Какой это кошмар!
А решение пожалуй только одно - документирование всего-всего-всего, строжайшая самодисциплина и ругань с коллегами до посинения если они пытаются игнорировать стандарты.
Рефакторинг в теории возможен, на практике же....
...
Рейтинг: 0 / 0
20.12.2007, 20:07
    #35024709
softwarer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разработка, перепись.
All AloneСмысл в том, что все переменный глобальны.
Значит - описывать все переменные в одном месте, строго обязательно. Каждую - комментировать, какой у нее смысл. Ни в коем случае не делать переменных со смыслом "здесь так, здесь эдак". Переменные цикла и прочие локальные по сути - строго свои в каждой функции, наверное потребуется использовать какие-нибудь префиксы-суффиксы.

All AloneНет ООП в самом языке.
Нестрашно.

All AloneВот хотел спросить может, есть какой-то опыт, советы, методы, способы построения таких приложений у кого-то из вас?
Без ловли ошибок - паршиво. Я бы посоветовал - берите руководства по программированию издания семидесятых-восьмидесятых годов, там будет то, что Вам нужно.
...
Рейтинг: 0 / 0
20.12.2007, 22:02
    #35024835
apapacy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разработка, перепись.
Изопропил авторПеременные передать напрямую в функцию нельзяНет, не VBS,JS,1C и тем более PHP.

Написать кросскомпилятор с нормального языка(да хоть с Basic) на это уёжище.

JavaScript (ECMAScript) - незаслуженно получил репутации BASICA+. Сейчас язык неожиданно для многих приобрел новое лицо и новый стиль программирования (библиотеки Prototype, Dojo, jsolait etc.). Так что можно смело ставить в один ряд
LISP, Perl, JS.

Единственное, что меня немного беспокоит - так это разработка новой спецификации языка - строго типизированной. Легкость и выразительность JS может быть утрачена.
...
Рейтинг: 0 / 0
21.12.2007, 13:10
    #35026089
All Alone
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разработка, перепись.
Спасибо. За советы.
Мне очень понравилась идея с написание некого слоя, который подготавливает код в формате этого языка. Надо ее попробовать оформить в нечто логичное.
...
Рейтинг: 0 / 0
21.12.2007, 15:23
    #35026632
belugin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разработка, перепись.
All Alone
Мне очень понравилась идея с написание некого слоя, который подготавливает код в формате этого языка. Надо ее попробовать оформить в нечто логичное.

А мне не очень, кажется, что не получистся поиметь "сплошную" реализацию такой штуки, а будет "дырявая" - вон даже джоэл свой васаби сделал несплошной, а у него программеров лелеют и отбирают лучших. А с теми что у вас есть постоянно народ будет натыкаться на дырки и охреневать.

Я предлагаю
1. Согласится с тем, что кодингстандарты и дисциплина необходима. Описать типичные проблемы и ловушки
2. Написать программные проверяльщики этой дисциплины
3. написать аналог JavaDoc. (когда я это сделал для баана (каждую ночь генерилась CHM справка по функциям) количество комментариев увеличилось так как народ увидел обратную связь - что он не в стол пишет, а эти комментарии можно просто посмотреть на F1)
4. В кодингстандарте написать, как отображаются понятия нормального языка в этот, например, в баане было так: неймспейсы отображались в префиксы (типа empl.get.fire.date - функция для поиска даты увольнения работника (в баане точка такой же символ в идентификаторе как и любой другой и точкой принято разделять слова в идентификаторах))
5. возможно, юнит тестинг (тут уж не знаю, как ваше средство это позоляет)
6. возможно, форматтер кода
7. Возможно, [визарды]кодогенераторы для типичных случаев
...
Рейтинг: 0 / 0
21.12.2007, 19:12
    #35027281
All Alone
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разработка, перепись.
belugin All Alone
Мне очень понравилась идея с написание некого слоя, который подготавливает код в формате этого языка. Надо ее попробовать оформить в нечто логичное.

А мне не очень, кажется, что не получистся поиметь "сплошную" реализацию такой штуки, а будет "дырявая" - вон даже джоэл свой васаби сделал несплошной, а у него программеров лелеют и отбирают лучших. А с теми что у вас есть постоянно народ будет натыкаться на дырки и охреневать.

Я предлагаю
1. Согласится с тем, что кодингстандарты и дисциплина необходима. Описать типичные проблемы и ловушки
2. Написать программные проверяльщики этой дисциплины
3. написать аналог JavaDoc. (когда я это сделал для баана (каждую ночь генерилась CHM справка по функциям) количество комментариев увеличилось так как народ увидел обратную связь - что он не в стол пишет, а эти комментарии можно просто посмотреть на F1)
4. В кодингстандарте написать, как отображаются понятия нормального языка в этот, например, в баане было так: неймспейсы отображались в префиксы (типа empl.get.fire.date - функция для поиска даты увольнения работника (в баане точка такой же символ в идентификаторе как и любой другой и точкой принято разделять слова в идентификаторах))
5. возможно, юнит тестинг (тут уж не знаю, как ваше средство это позоляет)
6. возможно, форматтер кода
7. Возможно, [визарды]кодогенераторы для типичных случаев
Дырявая или нет - это не суть и зависит от старания, времени, желания. Ее никто не увидит, то есть внутренний механизм "ядра" абсолютно никому не интересен, ну кроме меня. Есть предложение строить мегоуниверсальную ботву от БД, держа там всё и вся. И этот недоязык как бы ориентировался на нее на БД. У меняж уже другая мысль, но ее могут завернуть и пойти другой тропой. А на счет некоторых ваших пунктов, да они полезны тоже.
...
Рейтинг: 0 / 0
21.12.2007, 19:26
    #35027297
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разработка, перепись.
belugin 3. написать аналог JavaDoc. (когда я это сделал для баана (каждую ночь генерилась CHM справка по функциям) количество комментариев увеличилось так как народ увидел обратную связь - что он не в стол пишет, а эти комментарии можно просто посмотреть на F1)Поддерживаю всеми руками и ногами. Очень хорошая идея, надо будет ее тоже вставить себе :) Даже простые комментарии в исходниках очень полезны, а уж обратная связь в виде постоянно обновляющихся CHM'ок это вообще замечательно будет.
...
Рейтинг: 0 / 0
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Разработка, перепись. / 23 сообщений из 23, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]