• Есть ли языки/нотации для записи бизнес-логики?

    @WhoMe Автор вопроса
    Ух ты, ДРАКОН довольно интересная штука.
    Автор делает упор на "читаемость" - то что нужно.
    Почитал книжку автора ДРАКОНа "Как улучшить работу ума".
    Нашел в главе 9, "Визуализация логических формул" как графически удобно представлять логические выражения.
    А вот как в текстовом формате представлять увы не нашел.
    Хоть в книжке и написано что существует эквивалентный текстовый синтаксис,
    найти его описание мне не удалось. Похоже он еще в разработке. Жаль.

    Но вообще довольно интересная штука, спасибо за наводку.
    Написано
  • Есть ли языки/нотации для записи бизнес-логики?

    @WhoMe Автор вопроса
    Это нужно мне как программисту. У меня с этим проблема и думаю что не у меня одного.
    Ситуация: Вы приходите на проект, технический стек которого вам знаком.
    С чем-то работали, что-то похожее. Это не проблема.
    Но для вас это новый проект, вы не знаете бизнес-логики, вы не знаете как что должно работать. Это становиться узким местом в работе.

    И вот задача приводит вас в метод на 6к (бывает больше) строк не лучшего кода в который нужно внести изменения. И вы бы могли его порефакторить если бы не одно НО - ни вы никто не знает сколько там логики и как оно должно работать. Потому что чел который придумал эту логику уже уволился/занят/забыл или туда уже столько раз вносили изменения что никто уже не в курсе всего.

    Был реальный случай когда тестировщик нашел баг, аналитик подтвердил что это баг. Я начал копать и откопал целую подсистему про которую никто не вспомнил. В итоге это оказался не баг.

    Хочется эту логику документировать, хотя бы для отдельных кусков системы.
    Написано
  • Есть ли языки/нотации для записи бизнес-логики?

    @WhoMe Автор вопроса
    Prolog это прям очень близкое к тому что хочется. Видимо потому что и там и у меня в примере описываются предикаты.
    Но верифицировать требования автоматически пока цели не стоит. У меня поскромнее запросы).

    Про теоремы/гипотезы интересно, почитаю.
    Написано
  • Есть ли языки/нотации для записи бизнес-логики?

    @WhoMe Автор вопроса
    Понял. Т.е. по сути блок-схемы. Блок-схемы я люблю, но имхо в данном примере мне не видится упрощения, по крайней мере в том виде как это записывается в "русалке".

    Мы когда программируем/читаем код, нам же не нужна блок-схема под каждой условие, они и текстом неплохо читаются.
    Написано
  • Есть ли языки/нотации для записи бизнес-логики?

    @WhoMe Автор вопроса
    Василий Банников, прежде чем писать собственный DSL как раз и хочется узнать, а что уже есть из доступного
    Написано
  • Есть ли языки/нотации для записи бизнес-логики?

    @WhoMe Автор вопроса
    Немного не понял как диаграммой записать требование из вопроса.
    Можно пример?
    Написано
  • Программист в Японии?

    @WhoMe
    Эдуард Дейнега Ох как судьба забавно сложилась, я теперь сам программист в Японии поэтому отвечу на вопрос.
    С программистами норм - нанимают. Но могут быть некоторые сложности.

    1. Рабочая виза. Для получения визы нужно профильное высшее образование - айтишный или хотя бы инженерный диплом. Если в дипломе прописано что была информатика, то это хорошо.
    Если нет - то как повезет. Каждый случай разбирается индивидуально.
    Если нет ВО или гуманитарный диплом, т.е есть еще один вариант - гуглите экзамен ITPEC, он засчитывается как за диплом.

    2. Язык.
    Вакансий на русском можно считать что нет. За все время видел только 1 раз.
    Вакансий на английском довольно много, но и желающих на них тоже много. Нужен опыт.
    Вакансий на японском много. Если знаете японский, есть хоть какой-то опыт и готовы остаться "хоть чучелом хоть тушкой" то найти работу не особо сложно.

    Я отучился в языковой школе и почти все (!) из класса кто хотел найти работу тот её нашел.
    Кто-то с 5 откликов, кто-то со 100, но нашли. Вопрос лишь на каких условиях ты готов работать и попадаешь ли ты под условия визы.
    Написано
  • Какова вероятность что csv-файл на 1000 строк обработан верно, если проверено только 10?

    @WhoMe Автор вопроса
    Если бы была вероятность ошибки, то файл можно было бы не проверять.
    Я думал, может есть что-то вроде метода Монте-Карло для оценки. Может хоть что-то можно сказать обо всем файле.
  • Хорошая ли практика создавать свои классы Exception для отлавливания разных ошибок?

    @WhoMe
    твой проект

    Под "ваш проект" я имел ввиду что вы (участники проекта, текущие и будущие), внутри вашей компании, являетесь единственными пользователями этой кодовой базы.
    Это значит что требования к кодовой базе исходят только от вас и вы же их реализуете.


    Может сейчас тебе кажется, что потом они понадобятся.
    Поверь, в 8 из 10 случаев не понадобятся (цифра с потолка).
    Вместо того чтобы выявлять требования, ты тратишь время на их выдумывание, и хорошо если угадаешь.

    Проще всего поддерживать код которого нет.


    Именно то, что каждый программист херачит код исключительно под себя любимого является основной причиной говнокода во всех проектах.


    Согласен (но не основной). Именно поэтому я предлагаю создавать Exception-ы под реальные требования проекта, а не под себя любимого.


    FileException бросается в 100 разных мест, найти те места, где это происходит из-за отсутствия доступа к файлу будет аццки тяжело.


    Всмысле?
    Стек трейс никто не отменял. Мы ведь про php говорим, да?
    Ты же сообщение об ошибке то туда положишь? throw new FileException("Нет доступа к файлу");
    У тебя же есть текстовый редактор который найдет все "new FileException", да?
    Че тут аццкого?
  • Хорошая ли практика создавать свои классы Exception для отлавливания разных ошибок?

    @WhoMe
    > В идеале у каждой ошибки должен быть свой уникальный эксепшн.
    Зачем? Это можно оправдать, если вы пишете какую-то опенсорс библиотеку и вы не можете предсказать как она будет использоваться. И то при наличии продуманной иерархии ошибок, а не просто каждому throw new по своему классу.

    Если же это ваш проект, в котором вы знаете как это будет использоваться, и в который, если появятся новые требования, можно внести изменения - то зачем? (Я предполагаю что добавление нового подтипа ошибки не должно вызывать изменения во всем проекте).

    Зачем вам AccessFileException?
    Если вы после этой ошибки программно выставляете нужные права - то ок.
    Если вы просто выводите сообщение - то зачем?

    > По хорошему нужен отдельный эксепшн хендлер для этого.
    По хорошему нужно ловить ошибки там, где ты знаешь что с ними делать.
  • Хорошая ли практика создавать свои классы Exception для отлавливания разных ошибок?

    @WhoMe
    galliard, Наверное ответ слишком сумбурный получился.
    Для меня программист тоже "пользователь". Да, именно он решает, как их обрабатывать и обрабатывать ли вообще.
    Я с этим не спорю. Понятное дело что пользователь сайта не получает ошибок (в терминах ЯП) напрямую.
    Их получает некий слой, который затем формирует страницу ошибки. И да, программист пишет этот слой.
    Там где я писал про "2 типа исключений" я имел ввиду имено этот слой.

    Видимо я не правильно понял вопрос.
    Наверное автора больше беспокоит количество catch блоков и почему их получилось так много.
    Я же отвечал на вопрос можно ли "создавать свои классы Exception для отлавливания разных ошибок?" и сколько их нужно.

    Спасибо за комметарий, получилось чуть лучше понять вопрос.
  • Кто-нибудь имел опыт поиска работы в Японии?

    @WhoMe
    N3 можно на стенку повесить, друзьям показывать. Котируется N1, редко N2.
  • Кто-нибудь имел опыт поиска работы в Японии?

    @WhoMe
    Почему не делают, делают 3-месячные.
  • Как создать виртуальный хост в Apache2?

    @WhoMe
    Можно поподробнее что за ошибку и когда выдает? nslookup site.example.ru показывает правильный ip? Может дело то не в apache.
  • Компонент IdFTP.Put повреждает файлы в RAD Studio XE 6 помоге исправить?

    @WhoMe
    Не шарю в дельфи, но попробуйте после соединения переключить протокол на бинарный idFTP.TransferType := ftBinary;
  • В чем разница между \A и \Z, и ^ и $ (регулярные выражения) ?

    @WhoMe
    Можно ссылку на источник?
    Все так:
    ^$ для line или string,
    \A \z \Z для string.
    Не совсем понимаю что такое "line returns".
    Вот здесь можно поиграться с регулярками regex101.com
  • Откуда в Chrome для винды и Safari для iOS появляется пробел между строк при переносе тегом br ?

    @WhoMe
    Не могу знать. Ну и вообще это ж верстка, тут постоянно такие приколы.
    В разных браузера иногда разные значения по умолчанию, иногда баги, иногда разный взгляд на те же вещи/своя интерпретация стандартов.
    Иногда наоборот, ты пишешь код не по стандарту: какой-то из браузеров проглатывает, какой-то нет.
  • Как заработать новичку на низкоуровневом программировании?

    @WhoMe
    Устроишься так в оборонку, а потом из страны не выпустят :)
  • На чем написать табло аэропорта?

    @WhoMe
    Спасибо за ответ.
    В принципе, доводы логичны и я с Вами согласен.
    Есть у решения свои минусы, но я все же не стал бы отрывать за это руки.
  • На чем написать табло аэропорта?

    @WhoMe
    А если без эмоций, что не так с html для данной задачи?