AXForum  
Вернуться   AXForum > Прочие обсуждения > Курилка
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 17.12.2015, 19:32   #1  
AP-1055D is offline
AP-1055D
Участник
 
351 / 92 (4) ++++
Регистрация: 01.06.2011
Поэтому, я думаю, что всё хорошо в меру и не стоит вводить более сложные и менее очевидные вещи туда, где это явно будет лишним. И ERP вот точно не то место, где нужно всеми силами стремиться к чистоте кода, математическим абстракциям, анонимным функциям и прочему.
Старый 17.12.2015, 20:09   #2  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
Цитата:
Сообщение от AP-1055D Посмотреть сообщение
Поэтому, я думаю, что всё хорошо в меру и не стоит вводить более сложные и менее очевидные вещи туда, где это явно будет лишним. И ERP вот точно не то место, где нужно всеми силами стремиться к чистоте кода, математическим абстракциям, анонимным функциям и прочему.
Мне кажется тут все скопом, про неочевидность согласен, про остальное непонятно. Как вы, например, понимаете чистоту кода, к которой надо стремиться?

например какой код более очевиден:

X++:
int I;
for (I=1; I<=conLen(items); I++)
{
   if (conPeek(items, I) > 10)
   {
       print  conPeek(items, I);
   }
}
X++:
foreach(var item in items.Where(x => x>10))
{
    print item;
}
Старый 17.12.2015, 20:58   #3  
AP-1055D is offline
AP-1055D
Участник
 
351 / 92 (4) ++++
Регистрация: 01.06.2011
Цитата:
Сообщение от belugin Посмотреть сообщение
Мне кажется тут все скопом, про неочевидность согласен, про остальное непонятно. Как вы, например, понимаете чистоту кода, к которой надо стремиться?

например какой код более очевиден:

X++:
int I;
for (I=1; I<=conLen(items); I++)
{
   if (conPeek(items, I) > 10)
   {
       print  conPeek(items, I);
   }
}
X++:
foreach(var item in items.Where(x => x>10))
{
    print item;
}
Первый код мне более понятен интуитивно, и, главное, я знаю как его расширять, вводить дополнительные условия при необходимости.

Второй код мне, разумеется, тоже понятен. Он более чище чем первый. Но что будет если нужно будет реализовать несколько более сложное условие? Красота в одну строку пропадёт.

Про красоту и чистоту кода можно говорить и спорить долго и тут у каждого своя правда, мораль, вкус.

Кстати, посмотрите ещё одну статью на Хабре про толстые стрелочные функции, и подумайте о коде в конце. Он чист? Да! Прост? Очевиднее? Вопрос,,, А ведь эти люди пишут на JavaScript.
За это сообщение автора поблагодарили: mazzy (2).
Старый 17.12.2015, 21:43   #4  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
Цитата:
Сообщение от AP-1055D Посмотреть сообщение
Второй код мне, разумеется, тоже понятен. Он более чище чем первый. Но что будет если нужно будет реализовать несколько более сложное условие? Красота в одну строку пропадёт.
Вам просто непривычно. Логически во втором способе явно обозначено действие
И меньше возможности ошибся.

С многострочностью можно бороться также как вы делаете в x++ SQL - при помощи отступов. А еще условия в функции и константы.

Просто есть некая привычка.
Старый 18.12.2015, 08:02   #5  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,449 / 1792 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Цитата:
Сообщение от AP-1055D Посмотреть сообщение
Первый код мне более понятен интуитивно, и, главное, я знаю как его расширять, вводить дополнительные условия при необходимости.

Второй код мне, разумеется, тоже понятен. Он более чище чем первый. Но что будет если нужно будет реализовать несколько более сложное условие? Красота в одну строку пропадёт.
Второй код не чище, он выразительней. Читая его, сразу понимаешь что хотел сказать автор. Сложнее ли его поддерживать? Не уверен что тут всё так однозначно. Возможно для внесения определённых изменений в такой код придётся больше зачеркивать и переписывать чем расширять и дописывать поверх. Но с точки зрения читающего, такое исправление опять же будет более понятным, более выразительным.
Теги
f#, kotlin

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Боюсь, что при текущем подходе AX 10 лет у нас не проживет. Ark Курилка 18 29.09.2016 10:17
С вечера пятницы до вечера воскресенья (с 8.10 по 10.10) форум будет недоступен в связи с переездом на новый хостинг. mazzy Информация для участников 0 07.10.2010 21:11
10 минутная готовность: встречаем момент времени 12:34:56 07.08.09 Gustav Детская 8 07.08.2009 14:35
Встреча питерских аксаптеров 31.10.2008 fed Курилка 2 30.10.2008 13:09
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 00:20.