All streams
Search
Write a publication
Pull to refresh
50
0
Константин Кузнецов @Joshua

Программист

Send message
Ему самому и умиляюсь :)
Не, конечно 1С молодцы и язык, наверно, развит не плохо, но просто уж очень забавно выглядит.
Наверно, у разных людей работают разные договоренности. Не будьте таким критичным.
В данном случае пишется некий прикладной код. Объекты, присущие предметной области (и DSL) — в наличии. Почему бы не сравнить? Правда я в 1С мало писал, но смотря на код:

Процедура ДатаПриИзменении(Элемент)

Если НачалоМесяца(мТекущаяДатаДокумента) <> НачалоМесяца(Дата) Тогда
мУпрощенныйУчетНДС = УчетНДС.ПолучитьУПУпрощенныйУчетНДС(Организация, Дата);
Если ВидОперации = Перечисления.ВидыОперацийРеализацияТоваров.ОтгрузкаБезПереходаПраваСобственности Тогда
мВыписыватьСчетФактуру = ПолучитьВыписыватьСчетФактуру();
КонецЕсли;
ЗаполнитьТекстПроСчетФактуру();
КонецЕсли;

мТекущаяДатаДокумента = Дата; // запомним текущую дату документа для контроля номера документа

УстановитьВидимость();

КонецПроцедуры

часто умиляюсь :)
Честно говоря, я немного рад, что 9Fact не выстрелило. А то вдруг бы вы забросили Ваш DataObject.Net?
И, конечно, меня немного удивляет, как Вы имея такой офигенный продукт размениваетесь на 9фактов.
И почему Вас еще не купил Microsoft вместо своего EF, это тоже для меня загадка.
Хорошее описание наших реалий, спасибо! Поставил плюс в карму за ясность мыслей.
Но, Александр, с Вашей позицией превосходства я бы рекомендовал Вам воздержаться от продаж и общения с клиентами.

Особенно это заметно в Вашей статье.

Понял. Не подумайте, что я придираюсь, но и упоминание ПРОСТО конечных автоматов мне не совсем понятно.
Если не вдаваться "в тонкости", то любой код по факту детерминирован, и может быть выражен конечным автоматом. И этот — не исключение.

Наверно вы имеете ввиду какой-то конкретный подход к решению этой задачи? Не могли бы вы описать, например, для приведенного выше примера с заказом?
Действительно, любопытно.
Тут надо бы дать рекомендацию максимально переносить проверки в начало кода, чтобы не оказалось, что после ста тысяч вставки транзакция будет отменена по причине, которую можно было проверить В НАЧАЛЕ кода.
А как вы будете их задавать «из вне транзакции»? Если вы сперва сделаете проверки, потом в отдельной транзакции проведете операцию, то при многопоточном приложении между этими двумя состояниями может пройти изменение. См. коммент

Таким образом при неоднозначности либо нужно отказывать в выполнении транзакции (что что и делает автор исключением), либо держать транзакцию и ждать реакции пользователя, что работает на малых системах но проблематично при масштабировании.

Или я что-то не понял?

Но самое главное что я не понял:
Такие вещи нормальными людьми делаются через серверные конечные автоматы

Вроде все слова знаю, а смысл не уловил. И что за новое изобретение СЕРВЕРНЫЕ конечные автоматы?! Гугл дает единственную ссылку на эту статью.

Вы так написали, как-будто я сомневался в честности разрешения. Я же лишь обратил внимание, что если сравнивать экраны, то обязательно нужно подчеркнуть технологию.
В итоге спорите сами с собой.
Тогда уж пишите до конца.
Sony Xperia S — 4,3", 1280x720 точек, TFT
Как я понял, хинт — это возможность автоматически сгенерировать скрипт обновления БД.
А можно просто руками написать такой скрипт, если я не хочу разбираться с хинтами?
Вижу только быструю разработку.

Так вроде, как я понял, именно изменения вносить только в C# код проще и сами изменения короче, чем вносить их сперва в код, потом в пакет обновления БД.

Спасибо! Искал, что подключить к телевизору, и вот оно!
«но создавать рабочие места под хороших людей — порочная практика.»
По этому вопросу есть разные мнения. Например Джим Коллинз. От хорошего к великому. «Сначала кто… затем что»
Интернет Портал!!!
Спасибо! Очень интересно. А можно немного вопросов задать?
Для начала о составе команды
Что у вас за ребята? Вы берете опытных разработчиков или недавних студентов? Сколько времени нужно человеку, чтобы прийти и начать что-то изменять?

О разделяемом владении кодом
Какой у вас размер системы? Неужели получается в большой системе добиться разделяемого владения?
Я имею ввиду не формального а реального. Чтобы любые два разработчика (например со стажем 4 и 6 месяцев), взяли и внесли доработку в ядровую часть системы?
Или по факту на каждую функциональность системы есть специалист который РЕАЛЬНО и вносит изменение в формально всеобщий разделяемый код?

Используете ли какие-либо инструменты для мониторинга качества кода?
Стилистика (StyleCop)? Возможности рефаекторинга (FxCop и студийные ворнинги)? Метрики кода? Какие-нибудь системы для анализа слабой связанности (студийные или сторонние)?
Если да, то как это происходит? Есть какой-то день или на каждый комит?
Или тестов, считаете, достаточно?

О покрытии кода
Ммм. Когда говорят о 100% покрытия кода, или даже о 80% у меня всегда острый приступ недоверия. Было время и я предполагал что только 100% покрытия спасут Россию и все время скорбил о недостижимости этой цифры. Потом послушал мнение Джоеля и успокоился.
Неужели такое возможно? Какое у вас реальное покрытие всего проекта? Не какого-то отдельного модуля а именно всего? Что вам пишет TeamCity?

Руки прочь от нумератора страниц!
Он — идеален и получен методом длительных проб и ошибок.

Если я правильно понял, то ограничение о размере записи Table в 1 Мб, о котором вы говорили, относится к ограничению эмулятора. На боевом Azure 4 Мб на батч, т.е. значит и на максимальный размер одной записи.
Для Андроида — УЖАСНОЕ приложение.
Пользуюсь 5 дней ПОСЛЕ оплаты подписки. Список основных проблем:
1. Регулярно при входе показывает, что подписка закончилась (она до 5 июня).
2. Если подписка закончилась — до не дает читать книги, в том числе и скаченные.
3. Видимо, подписка проверяется по инету при каждом запуске приложения. Но я читаю чаще всего в метро. А там часто нет инета.
4. Если ты вошел а «подписка окончиналсь», то не понятно, как исправить ситуацию. При появляении инета — проблема не решается. Т.к. в андроиде приложение убивается не пользователем а системой, а до убийства приложения повторно подписка НЕ проверяется.
5. Есть кнопка Выход, но при ее нажатии пишется, что все локальные, закаченные книги будут удалены!
6. Слава богу что в п.5 написана не правда. Выход вход — помогает. Но для этого нужно быть смелым пользователем.

Отдельно к управлению текстом.
7. Постоянно х.з. по какой причине в момент очередного листания книга валится на ПЕРВУЮ страницу. Происходит при обычном листании. Я ТОЧНО жму в одну и ту же область для листания. И на случайное листание программа подвисает (листание не срабатывает), а повторное нажатие на листание сбрасывает текст в первый лист.

Это — хуже всего. Читать невозможно! Пришлось переключить на обычный скролл!
Если бы это было обычным приложением читалкой — уже бы полетело в корзину.

8. Не понятно что делает опция «Табы сверху снизу» или как то так. Но один черт, эта опция не сохраняется. Ее можно поставить. Но повторный вход в настройки показывает — что опция выключена.

Итого: твердая двойка.

Использую Андроид 2.2 на HTC Legenda.

Испрвьте ДВЕ фичи но срочно.
1. Не требуется проверка подписки при каждом входе.
2. Протестируйте листание ОЧЕНЬ тщательно. Это сердце читалки.

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Works in
Registered
Activity