|
|
|
Разработка, перепись.
|
|||
|---|---|---|---|
|
#18+
Здравствуйте. Есть некий язык. Отстойный или нет, это не важно. Смысл в том, что все переменный глобальны. Есть функции, есть стандартный набор мат. функций, конструкций языка. Нет ООП в самом языке. Есть возможность обращения к COM объектам, БД, HTTP. Код очень плох и местами безбашенен. Хреновая поддержка ловли ошибок. То есть, нет try catch-ей. Вот хотел спросить может, есть какой-то опыт, советы, методы, способы построения таких приложений у кого-то из вас? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2007, 13:50 |
|
||
|
Разработка, перепись.
|
|||
|---|---|---|---|
|
#18+
AkhРефакторинг Это понятно. Но какие методы кодинга в таких ограниченных условиях у языка. Может быть, есть какая-то инфа? ИзопропилVbScript ? Очень похож. Добавь еще JScript. :(ПэХаПэ? Да нет. ПЫх покруче). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2007, 15:52 |
|
||
|
Разработка, перепись.
|
|||
|---|---|---|---|
|
#18+
Да и еще. Переменные передать напрямую в функцию нельзя. Как лучше строить всё. То есть, имеем кучу функций и по ним скачем. Как лучше проектировать код, чтоб несколько людей могли юзать то, что дурогой пишет. И чтоб это не превращалось в большую кучу кала? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2007, 15:59 |
|
||
|
Разработка, перепись.
|
|||
|---|---|---|---|
|
#18+
авторПеременные передать напрямую в функцию нельзяНет, не VBS,JS,1C и тем более PHP. Написать кросскомпилятор с нормального языка(да хоть с Basic) на это уёжище. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2007, 16:20 |
|
||
|
Разработка, перепись.
|
|||
|---|---|---|---|
|
#18+
All AloneДа и еще. Переменные передать напрямую в функцию нельзя. Как лучше строить всё. То есть, имеем кучу функций и по ним скачем. Как лучше проектировать код, чтоб несколько людей могли юзать то, что дурогой пишет. И чтоб это не превращалось в большую кучу кала? Писать на "нормальном" языке, а потом генерить по исходникам код на "не нормальном" и никогда его на прямую не править :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2007, 16:21 |
|
||
|
Разработка, перепись.
|
|||
|---|---|---|---|
|
#18+
ИзопропилНаписать кросскомпилятор с нормального языка(да хоть с Basic) на это уёжище. У дураков мысли сходятся :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2007, 16:22 |
|
||
|
Разработка, перепись.
|
|||
|---|---|---|---|
|
#18+
Изопропил авторПеременные передать напрямую в функцию нельзяНет, не VBS,JS,1C и тем более PHP. Написать кросскомпилятор с нормального языка(да хоть с Basic) на это уёжище. Интересный подход. Но думаю, у нас будет второе. Писать долго первый вариант и отлаживать его, чтоб он выдавал всё правильно. Тут понимаете нужно еще привести сами блоки этого кала в нормальный человеческий вид. И на это нужно тоже время и не малое. А потом уже, быть может, можно и ваш вариант так, скажем, натягивать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2007, 16:33 |
|
||
|
Разработка, перепись.
|
|||
|---|---|---|---|
|
#18+
NotGonnaGetUs All AloneДа и еще. Переменные передать напрямую в функцию нельзя. Как лучше строить всё. То есть, имеем кучу функций и по ним скачем. Как лучше проектировать код, чтоб несколько людей могли юзать то, что дурогой пишет. И чтоб это не превращалось в большую кучу кала? Писать на "нормальном" языке, а потом генерить по исходникам код на "не нормальном" и никогда его на прямую не править :) Да, так в принципе можно. Но в конце код на этом недоязыке нужно компильнуть, но это не проблема в принципе думаю. Но мне интересно было узнать, как сам код в таких условиях строить, как вздумается? Ну, минимум можно там название функциям, переменным давать в каких-то стандартах. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2007, 16:38 |
|
||
|
Разработка, перепись.
|
|||
|---|---|---|---|
|
#18+
обновить резюме ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2007, 16:55 |
|
||
|
Разработка, перепись.
|
|||
|---|---|---|---|
|
#18+
beluginобновить резюме зачем? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2007, 17:03 |
|
||
|
Разработка, перепись.
|
|||
|---|---|---|---|
|
#18+
All Alone beluginобновить резюме зачем? Цитата недавноего обсуждения в RSDN подобной вещи: ... А на выяснение того, как оно работает и, особенно, как оно _должно_ работать, уйудет море времени и сил — прослеживание всех цепочек вызовов, выяснение всех граничных случаев и всех расхождений, выяснение, как каждое аукнется в видимом юзеру интерфейсе, и после этого выяснение у юзера, где оно работает корректно, а где — нет, причем в 3/4 случаев ответ юзера будет "не знаю, это было очень давно, еще до меня, и этой фичей мы пользуемся раз в месяц". Если кому очень нравится подобной работой заниматься — велкам, но для меня эта работа сродни "у нас тут мусорное ведро стоит, заполненное до краев, и если подозрение, что мы туда выкинули что-то важное — так что ты посмотри, пожалуйста, что там и как ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2007, 18:01 |
|
||
|
Разработка, перепись.
|
|||
|---|---|---|---|
|
#18+
All AloneНо мне интересно было узнать, как сам код в таких условиях строить, как вздумается? Ну, минимум можно там название функциям, переменным давать в каких-то стандартах. Жёсткая дисциплина, что тут ещё посоветуешь. Ввести стандарты именования переменных/функций, обязательные комментарии к тем и другим в максимально полной форме описывающие записимости и большую палку, чтобы убеждать всех в необходимости этим заниматься :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2007, 18:19 |
|
||
|
Разработка, перепись.
|
|||
|---|---|---|---|
|
#18+
belugin All Aloneзачем? Цитата недавноего обсуждения в RSDN подобной вещи: ... А на выяснение того, как оно работает и, особенно, как оно _должно_ работать, уйудет море времени и сил — прослеживание всех цепочек вызовов, выяснение всех граничных случаев и всех расхождений, выяснение, как каждое аукнется в видимом юзеру интерфейсе, и после этого выяснение у юзера, где оно работает корректно, а где — нет, причем в 3/4 случаев ответ юзера будет "не знаю, это было очень давно, еще до меня, и этой фичей мы пользуемся раз в месяц". Если кому очень нравится подобной работой заниматься — велкам, но для меня эта работа сродни "у нас тут мусорное ведро стоит, заполненное до краев, и если подозрение, что мы туда выкинули что-то важное — так что ты посмотри, пожалуйста, что там и как ... Да нее - это не выход. Есть в принципе рабочая платформа и приносит она не малый доход. Пишется код на долбанутом языке - это главный минус и так как быдлаков много и они не задумываются, а чего там после меня будет-то? - да пох. И вот это всё превратилось уже внутри в огромную кучу и нужно это привести в норму и отрефактить. И начальство в принципе созрело. Сама платформа нормальная и рабочая вполне. Просто ее запустили совсем, а изначально не задумывались ни о чем. А что про другое место? А в другом месте тоже будет помойное ведро, только может модель ведра будет отличатся. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2007, 18:23 |
|
||
|
Разработка, перепись.
|
|||
|---|---|---|---|
|
#18+
Все мы в подобных помойных ведрах ковыряемся... Мое сегодняшнее называется Focus. Какой это кошмар! А решение пожалуй только одно - документирование всего-всего-всего, строжайшая самодисциплина и ругань с коллегами до посинения если они пытаются игнорировать стандарты. Рефакторинг в теории возможен, на практике же.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2007, 19:09 |
|
||
|
Разработка, перепись.
|
|||
|---|---|---|---|
|
#18+
All AloneСмысл в том, что все переменный глобальны. Значит - описывать все переменные в одном месте, строго обязательно. Каждую - комментировать, какой у нее смысл. Ни в коем случае не делать переменных со смыслом "здесь так, здесь эдак". Переменные цикла и прочие локальные по сути - строго свои в каждой функции, наверное потребуется использовать какие-нибудь префиксы-суффиксы. All AloneНет ООП в самом языке. Нестрашно. All AloneВот хотел спросить может, есть какой-то опыт, советы, методы, способы построения таких приложений у кого-то из вас? Без ловли ошибок - паршиво. Я бы посоветовал - берите руководства по программированию издания семидесятых-восьмидесятых годов, там будет то, что Вам нужно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2007, 20:07 |
|
||
|
Разработка, перепись.
|
|||
|---|---|---|---|
|
#18+
Изопропил авторПеременные передать напрямую в функцию нельзяНет, не VBS,JS,1C и тем более PHP. Написать кросскомпилятор с нормального языка(да хоть с Basic) на это уёжище. JavaScript (ECMAScript) - незаслуженно получил репутации BASICA+. Сейчас язык неожиданно для многих приобрел новое лицо и новый стиль программирования (библиотеки Prototype, Dojo, jsolait etc.). Так что можно смело ставить в один ряд LISP, Perl, JS. Единственное, что меня немного беспокоит - так это разработка новой спецификации языка - строго типизированной. Легкость и выразительность JS может быть утрачена. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2007, 22:02 |
|
||
|
Разработка, перепись.
|
|||
|---|---|---|---|
|
#18+
Спасибо. За советы. Мне очень понравилась идея с написание некого слоя, который подготавливает код в формате этого языка. Надо ее попробовать оформить в нечто логичное. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2007, 13:10 |
|
||
|
Разработка, перепись.
|
|||
|---|---|---|---|
|
#18+
All Alone Мне очень понравилась идея с написание некого слоя, который подготавливает код в формате этого языка. Надо ее попробовать оформить в нечто логичное. А мне не очень, кажется, что не получистся поиметь "сплошную" реализацию такой штуки, а будет "дырявая" - вон даже джоэл свой васаби сделал несплошной, а у него программеров лелеют и отбирают лучших. А с теми что у вас есть постоянно народ будет натыкаться на дырки и охреневать. Я предлагаю 1. Согласится с тем, что кодингстандарты и дисциплина необходима. Описать типичные проблемы и ловушки 2. Написать программные проверяльщики этой дисциплины 3. написать аналог JavaDoc. (когда я это сделал для баана (каждую ночь генерилась CHM справка по функциям) количество комментариев увеличилось так как народ увидел обратную связь - что он не в стол пишет, а эти комментарии можно просто посмотреть на F1) 4. В кодингстандарте написать, как отображаются понятия нормального языка в этот, например, в баане было так: неймспейсы отображались в префиксы (типа empl.get.fire.date - функция для поиска даты увольнения работника (в баане точка такой же символ в идентификаторе как и любой другой и точкой принято разделять слова в идентификаторах)) 5. возможно, юнит тестинг (тут уж не знаю, как ваше средство это позоляет) 6. возможно, форматтер кода 7. Возможно, [визарды]кодогенераторы для типичных случаев ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2007, 15:23 |
|
||
|
Разработка, перепись.
|
|||
|---|---|---|---|
|
#18+
belugin All Alone Мне очень понравилась идея с написание некого слоя, который подготавливает код в формате этого языка. Надо ее попробовать оформить в нечто логичное. А мне не очень, кажется, что не получистся поиметь "сплошную" реализацию такой штуки, а будет "дырявая" - вон даже джоэл свой васаби сделал несплошной, а у него программеров лелеют и отбирают лучших. А с теми что у вас есть постоянно народ будет натыкаться на дырки и охреневать. Я предлагаю 1. Согласится с тем, что кодингстандарты и дисциплина необходима. Описать типичные проблемы и ловушки 2. Написать программные проверяльщики этой дисциплины 3. написать аналог JavaDoc. (когда я это сделал для баана (каждую ночь генерилась CHM справка по функциям) количество комментариев увеличилось так как народ увидел обратную связь - что он не в стол пишет, а эти комментарии можно просто посмотреть на F1) 4. В кодингстандарте написать, как отображаются понятия нормального языка в этот, например, в баане было так: неймспейсы отображались в префиксы (типа empl.get.fire.date - функция для поиска даты увольнения работника (в баане точка такой же символ в идентификаторе как и любой другой и точкой принято разделять слова в идентификаторах)) 5. возможно, юнит тестинг (тут уж не знаю, как ваше средство это позоляет) 6. возможно, форматтер кода 7. Возможно, [визарды]кодогенераторы для типичных случаев Дырявая или нет - это не суть и зависит от старания, времени, желания. Ее никто не увидит, то есть внутренний механизм "ядра" абсолютно никому не интересен, ну кроме меня. Есть предложение строить мегоуниверсальную ботву от БД, держа там всё и вся. И этот недоязык как бы ориентировался на нее на БД. У меняж уже другая мысль, но ее могут завернуть и пойти другой тропой. А на счет некоторых ваших пунктов, да они полезны тоже. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2007, 19:12 |
|
||
|
Разработка, перепись.
|
|||
|---|---|---|---|
|
#18+
belugin 3. написать аналог JavaDoc. (когда я это сделал для баана (каждую ночь генерилась CHM справка по функциям) количество комментариев увеличилось так как народ увидел обратную связь - что он не в стол пишет, а эти комментарии можно просто посмотреть на F1)Поддерживаю всеми руками и ногами. Очень хорошая идея, надо будет ее тоже вставить себе :) Даже простые комментарии в исходниках очень полезны, а уж обратная связь в виде постоянно обновляющихся CHM'ок это вообще замечательно будет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2007, 19:26 |
|
||
|
|

start [/forum/topic.php?fid=16&fpage=151&tid=1345609]: |
0ms |
get settings: |
9ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
58ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
73ms |
get tp. blocked users: |
1ms |
| others: | 194ms |
| total: | 378ms |

| 0 / 0 |
