|
|
|
Еще раз о строгой типизации | ☑ | ||
|---|---|---|---|---|
|
0
Ненавижу 1С
гуру
30.06.10
✎
10:04
|
Мне кажется в отчетах это было бы крайне неудобно, то есть тут лучше использовать универсальные типы, как variant.
А вот в бизнес-логике: проведении и проч. безопасней было бы юзать строгую типизацию |
|||
|
1
butterbean
30.06.10
✎
10:05
|
строгая типизация - прошлый век
|
|||
|
2
Ненавижу 1С
гуру
30.06.10
✎
10:06
|
(1) с чего бы?
|
|||
|
3
Дикообразко
30.06.10
✎
10:06
|
(0) в 1С фиолетово
|
|||
|
4
Ненавижу 1С
гуру
30.06.10
✎
10:07
|
(3) именно в 1С! именно!
|
|||
|
5
butterbean
30.06.10
✎
10:08
|
(2) неудобно, есдинственное удобство это типизированные параметры при объявлении процедур/функций чтоб не ошибиться, но это мелочи
|
|||
|
6
Buster007
30.06.10
✎
10:09
|
(4) так это ж удобней
|
|||
|
7
Shurjk
30.06.10
✎
10:11
|
(5) не сказал бы что это удобно, особенно поначалу когда только начинаешь на 1с писать, постоянно всякие сообщения типа невозможно сравнить, невозможно сложить, и вместо того чтобы один раз задекларировать тип, приходиться почти каждый раз использовать приведение.
|
|||
|
8
Jstunner
30.06.10
✎
10:17
|
(7) более менее сложная логика работает с пачками типов, задолбаешся объявлять
|
|||
|
9
Ненавижу 1С
гуру
30.06.10
✎
10:17
|
синтакс ошибки лучше ошибок ран-тайм
ран-тайм ошибки лучше логических ошибок |
|||
|
10
Ненавижу 1С
гуру
30.06.10
✎
10:18
|
(8) в C# например не задолбались
|
|||
|
11
Jstunner
30.06.10
✎
10:19
|
(0) взлетит только как дополнительная семантика
|
|||
|
12
Jstunner
30.06.10
✎
10:20
|
(10) в C# ты сам пишешь типы, и делаешь с ними что хочешь
|
|||
|
13
Ненавижу 1С
гуру
30.06.10
✎
10:20
|
(12) ну так и тут так сделать
|
|||
|
14
Jstunner
30.06.10
✎
10:21
|
(12)+ результаты тех же SQL запросов наверняка возвращает варианты
|
|||
|
15
Ненавижу 1С
гуру
30.06.10
✎
10:23
|
(14) в С# благодаря LINQ запросы в языке, строго типизированы
хотя LINQ не заменил полноценно SQL, но это решаемо имхо другой реализацией |
|||
|
16
Shurjk
30.06.10
✎
10:24
|
(8) Тут я больше видел не сложную логику а дебильную реализацию, когда пишут не нормальный структрурированный код, как это принято в том же С++ а черти что....
|
|||
|
17
DmitrO
30.06.10
✎
10:24
|
Строгая типизация это всегда удобнее, но со всем набором... и для компиляторов, а 1С интрпретатор. Типизация для интерпретатора сводится к рантайм проверкам типов и фактически не нужна, т.к не даюет изюму.
Если гипотетически предположить чтобы 1С была компилятором, тогда сразу же возникнет потребность в типизации, иерархии типов, и прочих прелестях которые называются ООП.. 1С в таком представлении будет превращаться .NET язык. |
|||
|
18
Ненавижу 1С
гуру
30.06.10
✎
10:26
|
(17) ну как я понимаю 1С не чисто интерпретатор, какой байт-код есть, так вот его можно было бы за счет типизации оптимизировать
скорость бы возросла |
|||
|
19
Jstunner
30.06.10
✎
10:28
|
(18) уверен, есть много чего еще оптимизировать в ВМ 1C, строгая типизация даст очень мало.
|
|||
|
20
Ненавижу 1С
гуру
30.06.10
✎
10:29
|
(19) она даст безопасность кода и скорость выполнения
|
|||
|
21
Jstunner
30.06.10
✎
10:31
|
(20) Да и всюду не получится. Например, при работе с внешними обработками объявления попросту не доступны
|
|||
|
22
Дикообразко
30.06.10
✎
10:32
|
[и скорость выполнения]
да да..... деститысячные доли секунды так важны для удобства работы пользователей |
|||
|
23
Ненавижу 1С
гуру
30.06.10
✎
10:32
|
(21) я не говорю везде, но опционально
в отчетах наверное тоже неудобно было бы |
|||
|
24
Ненавижу 1С
гуру
30.06.10
✎
10:33
|
(22) смотря какие объемы, масштабы так сказать
|
|||
|
25
Дикообразко
30.06.10
✎
10:34
|
(24) без разницы... больше УПП ты не напишешь
|
|||
|
26
Jstunner
30.06.10
✎
10:34
|
(24) все упрется в БД
|
|||
|
27
dimoff
30.06.10
✎
10:34
|
(0) Почему ты о ней заговорил? 1С собирается сделать строгую типизацию?
|
|||
|
28
Jstunner
30.06.10
✎
10:35
|
(26)+ отдельные критические моменты можно сделать через ВК
|
|||
|
29
Sammo
30.06.10
✎
10:36
|
(27) Потому что у него такая идея фикс. :)
|
|||
|
30
Ненавижу 1С
гуру
30.06.10
✎
10:38
|
Эх, неудачники...
|
|||
|
31
Дикообразко
30.06.10
✎
11:10
|
(30) про себя? :) ведь только ты мучаешься с 1С
|
|||
|
32
Defender aka LINN
30.06.10
✎
11:13
|
(27) Это он так неспешно к главному подбирается... :)
|
|||
|
33
Ахиллес
30.06.10
✎
11:16
|
:-) А ветка про Неопределено будет? :-)))
|
|||
|
34
Ахиллес
30.06.10
✎
11:17
|
Далась тебе эта строгая типизация. Не так уж много ошибок с ней связанных.
|
|||
|
35
Defender aka LINN
30.06.10
✎
11:18
|
(33) Это она и есть. Я ж говорю - подбирается :)
|
|||
|
36
Дикообразко
30.06.10
✎
11:19
|
(35) идейный борец?
|
|||
|
37
Ненавижу 1С
гуру
30.06.10
✎
11:19
|
(31) почему про себя? нет у некоторых фантазии, напрочь нет
|
|||
|
38
Ахиллес
30.06.10
✎
11:19
|
+34. Тем более в проведениях. Чего там типы приводить, всё и так заранее известно.
|
|||
|
39
Дикообразко
30.06.10
✎
11:22
|
(37) у некоторых есть мудрость и понимание, что фантазии и 1С несовместимы, для фантазий есть другие языки
|
|||
|
40
Ахиллес
30.06.10
✎
11:23
|
Можешь привести какой нибудь кусок кода, можно из типовой, где потенциальные ошибки могут возникнут, где строгая типизация необходима. У меня фантазии не хватает придумать такой код где польза от строгой типизации перевесит всю мороку.
|
|||
|
41
Ненавижу 1С
гуру
30.06.10
✎
11:24
|
(40) не буду я ничего приводить, имеющий глаза да увидит
|
|||
|
42
Ахиллес
30.06.10
✎
11:25
|
(41) Религиозные войны? Ведешь набор в свою секту "Строгих Типизаторов"?
|
|||
|
43
Sserj
30.06.10
✎
11:26
|
(40) Любая функция или процедура с параметрами. Фик ее знает кто и как ее может вызвать.
|
|||
|
44
Ахиллес
30.06.10
✎
11:33
|
(43) Пришёл посторонний дядя и вместо структуры передал справочник?
Если человек не комментирует код и не читает описаний, то ему никакая типизация не поможет. |
|||
|
45
Sserj
30.06.10
✎
11:35
|
(44) Так все можно на "идиотов" свести. Но в конкретно данном случае все свелось бы к ошибке на этапе компиляции.
|
|||
|
46
Дикообразко
30.06.10
✎
11:39
|
уволить бы теоретиков нафиг...
вместо того что бы работать, академический спор тут собираются за счет работодателя устраивать |
|||
|
47
orefkov
30.06.10
✎
11:40
|
(40)
Если КакоеТоСложноеРедкоВыполнимоеУсловие() = 1 Тогда тз.НовУяСтрока(); КонецЕсли; Ошибка вполне может быть обнаружена только после 3х лет эксплуатации. А вот если бы было объявлено тз Есть ТаблицаЗначений; ошибка была бы выявлена в момент компиляции. |
|||
|
48
Ахиллес
30.06.10
✎
11:40
|
Ну вообще то прежде чем передать в процедуру параметры надо задать себе вопрос, а какие параметры ожидает от нас эта процедура. Ты же предлагаешь подбирать типы путем научного тыка. Не понравилась строка, передадим число, не прошло число, передадим список значений, авось что нибудь проканает... вместо того что бы описание процедуры почитать.
|
|||
|
49
Сергей Д
30.06.10
✎
11:42
|
Я за типизацию. Привык как-то сперва в Паскале, потом в Дельфи. Все-таки от ошибок спасает. Ну и еще бывает смотришь на заголовок процедуры - и думаешь: какого типа тут параметры?
|
|||
|
50
Дикообразко
30.06.10
✎
11:43
|
(49) еще 4 года и отвыкнешь
|
|||
|
51
hhhh
30.06.10
✎
11:51
|
(49) эти ошибки, как ты и называешь, составляют где-то 0,05% всех ошибок. Стоит ли из-за этого перелопачивать весь язык?
|
|||
|
52
Ахиллес
30.06.10
✎
11:54
|
(47) Объявлять типы всех переменных реально задолбаешься, значит будет какой нибудь общий тип по умолчанию для необъявленных. Так же народ будет ленится их объявлять и ошибки типа 47 будут находится через три года.
|
|||
|
53
Ахиллес
30.06.10
✎
11:59
|
Кроме того в 8 или в 7 с телепатом это малость не актуально :-) Если после точки не раскрылся список параметров, то стоит на секунду остановится и задуматься.
|
|||
|
54
Sserj
30.06.10
✎
12:05
|
(52) Несовсем верно. Вопрос привычки, никто же не мешает объявлять тип в момент инициализации, например:
ТаблицаЗначений ТаблЗнач = Новый ТаблицаЗначений; (53) Опять неправда! Пример: Процедура МояПроцедура (ЧтоТо, ИЕщеЧтоТО) ЧтоТо. ЗДЕСЬ НИЧЕГО НЕ ВЫДАСТ КонецПроцедуры Для семерошного телепата можно либо спецкомментарием указать тип, либо он позже будет анализировать какие методы вызывались и куда они подходят. |
|||
|
55
Ахиллес
30.06.10
✎
12:14
|
(54) Дарю, пользуйся.
Процедура МояПроцедура (ЧтоТо, ИЕщеЧтоТО) Если Ложь тогда чтото = новый списокзначений; конецесли; ЧтоТо. А здесь выдаст! КонецПроцедуры |
|||
|
56
Sserj
30.06.10
✎
12:17
|
(55) И после это Вы утверждаете что изначальная типизация была бы муторней????
Типа: Процедура МояПроцедура (СписокЗначений ЧтоТо, Документ ЕщеЧтоТо) ЧтоТо. Тут бы выдалось ЕщеЧтоТо. И тут бы вывалилось КонецПроцедуры PS Я не фанатик ни того ни другого, но везде есть свои плюсы и минусы :) |
|||
|
57
Ахиллес
30.06.10
✎
12:19
|
:-) Так вот тебе готовая типизация уже существующая. И перелопачивать платформу для этого не надо.
|
|||
|
58
Ахиллес
30.06.10
✎
12:22
|
Правда она не строгая, а так, шаляй-валяй, хошь типизируй не хошь, сиди в потолок плюй. Мне слово "Строгая" не нравится :-) не люблю строем ходить :-)
|
|||
|
59
Sserj
30.06.10
✎
12:27
|
(57) Ну а не замучаешься вот так все "типизировать" :)
Еще пример: Функция МояФункция() Возврат Новый СписокЗначений; КонецФункции Процедура МояПроцедура() МойСписок = МояФункция(); МойСписок. Опять сволочь ничего не предлагает! КонецПроцедуры |
|||
|
60
Сияющий Асинхраль
30.06.10
✎
12:32
|
В семерке всегда типизировал колонки таблицы значений и эта типизация всегда помогала, увы, для решения подобной задачи в восьмерке требуется написать такое количество невнятного кода, что для восьмерки использую типизацию колонок ТЗ очень редко...
|
|||
|
61
Ахиллес
30.06.10
✎
12:42
|
Это да... с типизацией колонок в тз в восьмерке явно перемудрили. Кто то явно дунул годных шишек прежде чем такое придумал.
|
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |