Список форумов Roses Roses
Форум сообщества Roses
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 


ПОМОГИТЕ с excel!!!
На страницу Пред.  1, 2, 3, 4, 5  След.
 
Начать новую тему   Ответить на тему    Список форумов Roses -> Общий раздел -> Общий
Предыдущая тема :: Следующая тема  
Автор Сообщение
Doredel
Royal Rose
Royal Rose


Возраст: 109
Зарегистрирован: 23.02.2006
Сообщения: 11222


СообщениеДобавлено: 26 Ноябрь, 2012 12:23    Заголовок сообщения: Ответить с цитатой

Не индусский код это когда все предельно логично и сделано со знанием возможностей языка.
В нашем случае не индусский код означает, что мы переведем ГГММДД в формат числа дней от 1 января 1900 года потому что это в любом случае нужно (см. таблицу). И потом из этого уже есть функции которые предельно просто выдергивают месяц, год и день, что тоже требуется сделать.

http://blohin.org/notes/dzen-python/
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Darkman
The Wolf,who fell in love with The Angel
The Wolf,who fell in love with The Angel


Возраст: 41
Зарегистрирован: 31.01.2006
Сообщения: 20321
Откуда: Санкт-Петербург

СообщениеДобавлено: 26 Ноябрь, 2012 12:29    Заголовок сообщения: Ответить с цитатой

Salevol, те, ты хочешь сказать, что если индусы зальют на дропбокс свой код, он станет не индусским?
_________________
Hikari WoE|MvP|PvM 99/68 High Wizard {Roses}
Хикару - ацкий смит барыга {Trading Roses} GoldenGirl - ацкий мерк барыга {GM Witherless Roses}

Мы забытое поколение, которое любит "пихать кнопки компа, жрать чипсы и пить пиво на тусовках"(С) Neaxion
"Человек - это часть целого, которое мы называем Вселенной, часть, ограниченная во времени и в пространстве"(C) Альберт Эйнштейн

И не сомкнуть кольцо седых холмов, И узок путь по лезвию дождя, И не ищи - ты не найдешь следов, Что Воин Вереска оставил, уходя.
Воин Вереска(C)Хэлависа группа Мельница
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Salevol
Troll of Roses
Troll of Roses


Возраст: 35
Зарегистрирован: 20.04.2007
Сообщения: 1777


СообщениеДобавлено: 26 Ноябрь, 2012 12:34    Заголовок сообщения: Ответить с цитатой

Darkman, думаю если они смогут просто нажать ctrl+c, ctrl+v - и их код уже в интернете, то да.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Гжыррракх
Roses Gardener
Roses Gardener


Возраст: 42
Зарегистрирован: 30.01.2006
Сообщения: 6704
Откуда: Москва

СообщениеДобавлено: 26 Ноябрь, 2012 12:38    Заголовок сообщения: Ответить с цитатой

Doredel
Моя формула предельно логична (любая формула, являющаяся частью точной науки, логична по определению), сделана со знанием возможностей языка (я их именно знал, в справку не смотрел)

Но таки в данном случае согласен, о дальнейшем использовании преобразованных данных я не подумал Sad
С этой точки зрения мой код действительно индусский, т.е. не оптимальный и трудноадаптируемый в процессе эволюции программы Smile
_________________
Насекомый профф

ave Roses.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Darkman
The Wolf,who fell in love with The Angel
The Wolf,who fell in love with The Angel


Возраст: 41
Зарегистрирован: 31.01.2006
Сообщения: 20321
Откуда: Санкт-Петербург

СообщениеДобавлено: 26 Ноябрь, 2012 13:29    Заголовок сообщения: Ответить с цитатой

Doredel всегда считал, что индусский код это что-то типа вставок:
if 2 > 1 then
null;
end if;
Не считаю, что если задачу можно решить, написав решение в одну строчку типа твоего решения или решения Гжы - это индусский код. Скорее по индуски было бы в данном случае написать новую функцию решающую задачу размером строчек в 20, в которой задействовать с десяток имеющихся функций.

Вот мне больше интересно, можно ли подобный код считать индусским:

Код:

             main(l
        ,a,n,d)char**a;{
    for(d=atoi(a[1])/10*80-
   atoi(a[2])/5-596;n="@NKA\
  CLCCGZAAQBEAADAFaISADJABBA^\
  SNLGAQABDAXIMBAACTBATAHDBAN\
  ZcEMMCCCCAAhEIJFAEAAABAfHJE\
  TBdFLDAANEfDNBPHdBcBBBEA_AL\
   H E L L O,    W O R L D! "
     [l++-3];)for(;n-->64;)
        putchar(!d+++33^
             l&1);}

а так же всякие эзотерические языки типа Брейнфака
_________________
Hikari WoE|MvP|PvM 99/68 High Wizard {Roses}
Хикару - ацкий смит барыга {Trading Roses} GoldenGirl - ацкий мерк барыга {GM Witherless Roses}

Мы забытое поколение, которое любит "пихать кнопки компа, жрать чипсы и пить пиво на тусовках"(С) Neaxion
"Человек - это часть целого, которое мы называем Вселенной, часть, ограниченная во времени и в пространстве"(C) Альберт Эйнштейн

И не сомкнуть кольцо седых холмов, И узок путь по лезвию дождя, И не ищи - ты не найдешь следов, Что Воин Вереска оставил, уходя.
Воин Вереска(C)Хэлависа группа Мельница
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Doredel
Royal Rose
Royal Rose


Возраст: 109
Зарегистрирован: 23.02.2006
Сообщения: 11222


СообщениеДобавлено: 26 Ноябрь, 2012 13:37    Заголовок сообщения: Ответить с цитатой

Darkman писал(а):
Скорее в по индусски было бы в данном случае написать новую функцию решающую задачу размером строчек в 20

Это уже китайский код.

Индусский код это код который противоречит правилу наименьшего удивления (ну то есть ты смотришь на кусок кода и тебя удивляет способ, которым была решена задача). В этом плане мое решение с умножением на 31 более индусское (но зато легче поддерживаемое, если допустим названия месяцев поменяются, они автоматически заменятся с апдейтом экселя) чем способ который написал Гжы, но если считать, что есть способ преобразовать дату в экселевский формат, то оба решения противоречат этому правилу.

Darkman писал(а):
множно ли подобный код считать индусским

Это больше похоже на намеренные попытки взорвать мозг читающего, чем на индусский код.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Narsil
Grammar nazi
Grammar nazi


Возраст: 35
Зарегистрирован: 09.03.2007
Сообщения: 5516
Откуда: Волшебная страна

СообщениеДобавлено: 26 Ноябрь, 2012 14:05    Заголовок сообщения: Ответить с цитатой

Darkman писал(а):
if 2 > 1 then
null;
end if;

Это очень редко когда индусский код. Обычно это либо закладки на будущий рефакторинг, либо артефакты уже проведенного рефакторинга.
Darkman писал(а):
Вот мне больше интересно, можно ли подобный код считать индусским:

Нет, это намеренная обфускация.

Есть много критериев "индусности" кода. В частности:
1) Неоптимальные решения тривиальных задач. От незнания языка ли, по глупости ли - не важно. Как пример:
Код:
if (b.toString().length() == 5)
вместо
Код:
if (b == false)
или более простого
Код:
if (!b)

2) write-only код. Код, который работает, но проще переписать заново, чем понять как и почему это работает.
3) отличительной особенностью не индусского кода является простота и понятность. Ты видишь код, ты понимаешь сразу что он делает и как он это делает.
_________________
На опушке маленький мальчик плакал от страха и кричал: "Волк, волк!", а волк, стоя за кустом, с тоской думал, что главная беда с маленькими мальчиками - их совершенное неумение расставаться.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Darkman
The Wolf,who fell in love with The Angel
The Wolf,who fell in love with The Angel


Возраст: 41
Зарегистрирован: 31.01.2006
Сообщения: 20321
Откуда: Санкт-Петербург

СообщениеДобавлено: 26 Ноябрь, 2012 15:08    Заголовок сообщения: Ответить с цитатой

ок. спасибо, интересно было почитать, совсем я в своих SQLях погряз.
BTW: "Неоптимальные решения тривиальных задач. От незнания языка ли, по глупости ли - не важно." да да вот оно - наверно лучшее определение индусского кода.

Еще один вопрос: А как назвать код написанный читаемо по правилам ОПП, хорошо отформатированный, но с избыточной архитектурой. Например, нужна программа строящая ряд Фибоначчи и ряд Леонардо. Делаем абстрактный класс, от него наследуем классы с мат.функциями и там делаем функцию вычисления ряда Фибоначчи и вычисление ряда Леонардо. Причем интерфейс этих классов будет использовать инкапсуляцию, а сама функция будет использовать полиморфизм через абстрактный класс. Возможно, еще что-то накрутить, те получится правильная красивая огромная болванка для тривиальной задачи, полезного кода в которой будет пару строк.
_________________
Hikari WoE|MvP|PvM 99/68 High Wizard {Roses}
Хикару - ацкий смит барыга {Trading Roses} GoldenGirl - ацкий мерк барыга {GM Witherless Roses}

Мы забытое поколение, которое любит "пихать кнопки компа, жрать чипсы и пить пиво на тусовках"(С) Neaxion
"Человек - это часть целого, которое мы называем Вселенной, часть, ограниченная во времени и в пространстве"(C) Альберт Эйнштейн

И не сомкнуть кольцо седых холмов, И узок путь по лезвию дождя, И не ищи - ты не найдешь следов, Что Воин Вереска оставил, уходя.
Воин Вереска(C)Хэлависа группа Мельница
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Гжыррракх
Roses Gardener
Roses Gardener


Возраст: 42
Зарегистрирован: 30.01.2006
Сообщения: 6704
Откуда: Москва

СообщениеДобавлено: 26 Ноябрь, 2012 15:13    Заголовок сообщения: Ответить с цитатой

Только такой код и надо писать, работая в большой компании в команде. Когда неизвестно, что от твоего кода захотят завтра, и кто именно это будет реализовывать.
_________________
Насекомый профф

ave Roses.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Darkman
The Wolf,who fell in love with The Angel
The Wolf,who fell in love with The Angel


Возраст: 41
Зарегистрирован: 31.01.2006
Сообщения: 20321
Откуда: Санкт-Петербург

СообщениеДобавлено: 26 Ноябрь, 2012 15:23    Заголовок сообщения: Ответить с цитатой

Гжыррракх, ну приведенный мной вариант, когда именно нужно написать только программку для рядов Фибоначчи и Леонардо, не подразумевается, что на основе ее потом будет делаться инженерный калькулятор или маткад.
_________________
Hikari WoE|MvP|PvM 99/68 High Wizard {Roses}
Хикару - ацкий смит барыга {Trading Roses} GoldenGirl - ацкий мерк барыга {GM Witherless Roses}

Мы забытое поколение, которое любит "пихать кнопки компа, жрать чипсы и пить пиво на тусовках"(С) Neaxion
"Человек - это часть целого, которое мы называем Вселенной, часть, ограниченная во времени и в пространстве"(C) Альберт Эйнштейн

И не сомкнуть кольцо седых холмов, И узок путь по лезвию дождя, И не ищи - ты не найдешь следов, Что Воин Вереска оставил, уходя.
Воин Вереска(C)Хэлависа группа Мельница
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Narsil
Grammar nazi
Grammar nazi


Возраст: 35
Зарегистрирован: 09.03.2007
Сообщения: 5516
Откуда: Волшебная страна

СообщениеДобавлено: 26 Ноябрь, 2012 15:25    Заголовок сообщения: Ответить с цитатой

Darkman писал(а):
Еще один вопрос

Тут вот какое дело. Нужно искать золотую середину между избыточностью и простотой. Можно же разбивать на слои, на классы, вводить интерфейсы до бесконечности. Понимание, где следует остановится, а где следует сделать более гибко приходит только с опытом и всегда зависит от задачи. В некоторых случаях такая "избыточная" архитектура оправдана (ну там мат. библиотеку пишем, допустим, там понятно, что расширять функционал можно до бесконечности), в некоторых - нет.
Насколько я знаю, какого-то одного определения нет. Я не встречал такого. Есть принцип KISS (с которым можно считаться, а можно нет) и такая архитектура его нарушает очевидным образом.
Гжыррракх писал(а):
Только такой код и надо писать, работая в большой компании в команде. Когда неизвестно, что от твоего кода захотят завтра, и кто именно это будет реализовывать.

Не согласен. Всё очень ситуативно.
_________________
На опушке маленький мальчик плакал от страха и кричал: "Волк, волк!", а волк, стоя за кустом, с тоской думал, что главная беда с маленькими мальчиками - их совершенное неумение расставаться.


Последний раз редактировалось: Narsil (26 Ноябрь, 2012 15:27), всего редактировалось 1 раз
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Doredel
Royal Rose
Royal Rose


Возраст: 109
Зарегистрирован: 23.02.2006
Сообщения: 11222


СообщениеДобавлено: 26 Ноябрь, 2012 15:27    Заголовок сообщения: Ответить с цитатой

Зачем вы тут переливаете из пустого в порожнее, когда по приведенной мной ссылке все распсиано?

http://blohin.org/notes/dzen-python/
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Narsil
Grammar nazi
Grammar nazi


Возраст: 35
Зарегистрирован: 09.03.2007
Сообщения: 5516
Откуда: Волшебная страна

СообщениеДобавлено: 26 Ноябрь, 2012 15:28    Заголовок сообщения: Ответить с цитатой

Doredel, это питон-way кодинг. Не все его принимают полностью. Лично мне некоторые пункты не кажутся разумными, хотя в основном согласен.
В самой кстати архитектуре питона есть крайне сомнительные решения.
_________________
На опушке маленький мальчик плакал от страха и кричал: "Волк, волк!", а волк, стоя за кустом, с тоской думал, что главная беда с маленькими мальчиками - их совершенное неумение расставаться.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Doredel
Royal Rose
Royal Rose


Возраст: 109
Зарегистрирован: 23.02.2006
Сообщения: 11222


СообщениеДобавлено: 26 Ноябрь, 2012 15:47    Заголовок сообщения: Ответить с цитатой

Меня не волнует сам питон, все основные принципы расписаны очень хорошо и это можно применять к любому языку программирования.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Narsil
Grammar nazi
Grammar nazi


Возраст: 35
Зарегистрирован: 09.03.2007
Сообщения: 5516
Откуда: Волшебная страна

СообщениеДобавлено: 26 Ноябрь, 2012 15:56    Заголовок сообщения: Ответить с цитатой

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

Да, но не к каждой задаче. Нет, ну то есть можно, конечно, но не следует.
_________________
На опушке маленький мальчик плакал от страха и кричал: "Волк, волк!", а волк, стоя за кустом, с тоской думал, что главная беда с маленькими мальчиками - их совершенное неумение расставаться.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов Roses -> Общий раздел -> Общий Часовой пояс: GMT + 4
На страницу Пред.  1, 2, 3, 4, 5  След.
Страница 3 из 5

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Powered by phpBB © 2001, 2005 phpBB Group
Русская поддержка phpBB

Яндекс.Метрика

Anti Bot Question MOD - phpBB MOD against Spam Bots
Заблокировано регистраций: 18215