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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Я предлагаю
1. Согласится с тем, что кодингстандарты и дисциплина необходима. Описать типичные проблемы и ловушки
2. Написать программные проверяльщики этой дисциплины
3. написать аналог JavaDoc. (когда я это сделал для баана (каждую ночь генерилась CHM справка по функциям) количество комментариев увеличилось так как народ увидел обратную связь - что он не в стол пишет, а эти комментарии можно просто посмотреть на F1)
4. В кодингстандарте написать, как отображаются понятия нормального языка в этот, например, в баане было так: неймспейсы отображались в префиксы (типа empl.get.fire.date - функция для поиска даты увольнения работника (в баане точка такой же символ в идентификаторе как и любой другой и точкой принято разделять слова в идентификаторах))
5. возможно, юнит тестинг (тут уж не знаю, как ваше средство это позоляет)
6. возможно, форматтер кода
7. Возможно, [визарды]кодогенераторы для типичных случаев
Дырявая или нет - это не суть и зависит от старания, времени, желания. Ее никто не увидит, то есть внутренний механизм "ядра" абсолютно никому не интересен, ну кроме меня. Есть предложение строить мегоуниверсальную ботву от БД, держа там всё и вся. И этот недоязык как бы ориентировался на нее на БД. У меняж уже другая мысль, но ее могут завернуть и пойти другой тропой. А на счет некоторых ваших пунктов, да они полезны тоже.
...
Рейтинг: 0 / 0
Разработка, перепись.
    #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]