Функция определения валюты из произвольной строки

27.11.2009

Написал минут за 20-30 вместе с тестированием. А вот некотрые программисты считают, что это охренительно сложно и тут работы на много часов и денег:

… Умная форма — это вообще пиздец. Так не делают, разве что если есть масса денег, времени и хочется побаловаться…

Кстати, я считаю, что если кто-то всерьез использует аргументацию «так не делают», такой специалист совсем дохлый и дел с ним лучше не иметь (по крайней мере для проектирования чего-то нового). Но проблема в том, что в письмах от фрилансеров звучало примерно то же самое нытьё: «это сложно…»

Тысяча чертей, каналья! Вы программисты, или кисель протухший? Вот, думаю, то ли снова рискнуть временем/деньгами и отдать проект другому исполнителю, то ли всё же делать всё самому? Но это тупиковый путь, всё самостоятельно делать невозможно — ничего в жизни не успеть тогда. Наверно, у меня просто чёрная полоса, хоть я и не верю в судьбозебры.

P.S. Свеженаписанная функция тут — http://pastie.org/716379
Работает в полном соответствии с ТЗ.

Комментарии

  1. # Nalivaeff

    Бля, да это же вообще проще простого. Я не являясь программистом и зная всего 4-5 функций в PHP делал бы это через split

  2. # Тормоз: 

    Во-первых, причём здесь split? Во-вторых, особенности реализации в данном случае вторичны. В-третьих, довольно забавно видеть как на фоне своей же цитаты о массе денег и времени человек говорит, что решение тут «проще простого» :-D

    Не, я-то согласен, что просто, но очень смешное противоречие. Что именно ты донести хотел своими суждениями? Вот это пока неясно.

    Ой! Прошу прощения, на ник взглянул мельком, поэтому спутал Nalivaeff и Nayjest. Я не специально.
  3. # Nalivaeff

    Я же говорю что я не программист. А сплитами реально можно, я уже миллион раз так делал. Листинг больше получается чем у тебя, но честно делал подобные штуки именно через split

  4. # Тормоз: 

    Просто ни к чему здесь split, да и, если честно, я не понимаю, как с его помощью можно решить эту задачу. Изврат какой-то выходит :) Split ведь предназначен для разбивки строки по шаблону, а нам нужно просто проверить, встречается ли шаблон в строке. Так какой смысл использовать split и как именно ты его используешь в таких случаях?

  5. # Nalivaeff

    Режем весь текст по слову «рублей», выбраем 0-вой элемент массива, последнее слово – это сумма. если «рублей» не найдено ищем по «долларов», «баксов».
    Криво и изврат конечно. Но как смог так и придумал. К примеру _http://checkilla.com/pop.php все параметры определяются путем деления

  6. # Тормоз: 

    Ужас.

  7. # Nalivaeff

    Но работает :)

  8. # kulikov: 

    чтобы с регистром букв не извращаться нужно /i ставить

  9. # Never Lex

    И действительно. Почему не /i ???

  10. # Тормоз

    А этот модификатор точно сработает с UTF-8 в любых условиях?

  11. # adVISeR

    Да нет конечно, как и приведение к нижнему регистру тоже не прокатит. Бывает что работает, а бывает что нет %) Ждём php6 :)

  12. # Hartamon

    Тормоз, молодца!

  13. # che: 

    Непонятно зачем вообще вводить валюту руками, вместо того чтобы в селекте выбрать. Имхо этот изврат для тех кто и цифры прописью вводит :)

  14. # Never Lex

    я честно говоря тоже думаю, что легче набрать цифрами и выбрать валюту из списка

  15. # Йоги_Зюлей: 

    Тормоз: Ужас.

    карму портишь >:/
    «Каждый дро… Всякая птица по-своему поёт» Ата-тат.

  16. # Тормоз

    Che, ну надо же хоть как-то выпендриться.

  17. # webshark: 

    $c = array(‘usd’=>array(’$’,‘us’,‘дол’), ‘rur’=>array(‘ru’, ‘руб’),‘eur’=>array(‘евро’, ‘eur’, ‘evr’));
    ну и т д
    foreach($c as $curr=>$aPattern){
    foreach($aPatter as $p){
    if (strstr($haystack, $p))
    return true;
    }
    }
    return false;

    полторы минуты. работает без тестирования.

  18. # TraderMax

    Тормоз спали тему как стать программером, таким же как ты?

  19. # Тормоз

    Webshark, не работает для большинства случаев. См. ТЗ.

    TraderMax, зачем таким как я? Нужно стремиться к совершенству во всём, я вряд ли достойный ориентир в программировании :)

  20. # Jeck

    Вот идея, у гугла есть конвертер валют например и там можно задавать в произвольном виде, потом результат проще распарсить.

    http://www.google.com/search?hl=ru&q=1+%D1%80%D1%83%D0%B1%D0%BB%D1%8C+in+$

    Кстати я опять забыл дурную разметку Texpattern`а…

  21. # Тормоз

    Лишний запрос на сторонний сервер и при этом сленговые варианты не поймёт. Смысла нет.

    А конвертор валют я сделал через Yahoo.

  22. # Nayjest, бог программирования на php

    100 условных единиц — Тормоз облажался
    1000 griven — Тормоз дважды облажался
    10000 р — Тормоз трижды облажался
    100000 у.о. — (это у.е. українською мовою), Тормоз еще раз облажался
    1000000 grn — не оригинально, но будем считать, что Тормоз попал куда?… да, в просак :D
    Кстати, а вы знаете, что такое просак?
    1000000000 усл.ед. — это фейл
    додециллион рублей — если у кого-то есть 10 в 39 степени рублей, то… невероятно… но Тормоз, это же фейл! Это же EPIC FAIL!

    LOL :D

    Дааа, повеселил ты меня на ночь xD
    Пиши еще.

    Кстати, ну удобнее все-таки выпадающий список с выбором валюты, удобнее.

    Да, и еще: написать такую функцию это очень сложно, охренительно сложно и тут работы на много часов и денег для команды профессиональных программистов,а еще нужно оплачивать работу команды бета-тестеров, бухгалтера и уборщицы. Так что если хочешь — я напишу тебе трушную функцию определения валюты, это будет стоить 500$, но тебе как уважаемому блоггеру делаю скидку 100$ ;)

  23. # Nayjest

    Фак, еще один мой коммент потерялся или это спам-контроль меня уже не понимает? :)

  24. # Тормоз

    Nayjest, молодец, показал свои мыслительные способности в лучшем свете. Я думаю, все оценили, особенно те, кто всё же читал ТЗ, а также ребята, регулярно принимающие наркотические средства.

    Кстати, я всё делаю сам уже, бОльшая часть кода написана.

  25. # Nayjest

    В общем, это ничего что я немного поглумился в комментах? Что-то у меня сегодня настроение слишком хорошее. Без обид, ок? :)

    И да, включи аватарки, чтобы комментаторов с похожими никами не путать ;)

  26. # Тормоз

    Не люблю аватары.

  27. # Nayjest не принимает наркотические средства

    Ооо, ты не спишь :)

    Можно подробнее про ребят, принимающих наркотические средства? :)

    И кстати, ну если не глумиться, вот просто серьезно взглянуть на этот вопрос, ты все же считаешь что я был не прав в коменте к т.з. по поводу «умной формы»?

    p.s.: По поводу юзабилити блога, еще было бы неплохо перед предпросмотром комментария написать «предпросмотр комментария:»

  28. # Тормоз

    Зачем повторяться?

  29. # Nayjest идет спать

    Ок

  30. # Jeck

    Тормоз, http://www.google.com/search?hl=ru&rlz=1C1CHMB_ruRU330RU330&q=100+%D0%B1%D0%B0%D0%BA%D1%81%D0%BE%D0%B2+%D0%B2+%D1%80%D1%83%D0%B1%D0%BB%D1%8F%D1%85&btnG=%D0%9F%D0%BE%D0%B8%D1%81%D0%BA&lr=&aq=f&oq=

  31. # Тормоз

    Да блин, знаю я это и пользуюсь давно :) Что ты хотел сказать-то?

    P.S. А, ты про сленг. Этого не знал, признаю ошибку. Но всё равно своё лучше.

  32. # Nalivaeff (Иногда принимает наркотические средства)

    Ура!!! Я узнал что есть еще и preg_match и preg_match_all ;)

  33. # Тормоз

    «О, сколько нам открытий чудных…»

  34. # Деда: 

    Тормоз, это ты ретранслятор бомжеленты отключил?

  35. # Тормоз

    Нет, и уверен, что Стальной тоже не стал бы этого делать, хотя бы потому что не имеет доступа к этой штуке :)

    И я даже не знаю, кто сделал ретранслятор… вроде бы кто-то признавался из бомжеленты, но я забыл.

    Так что не знаю.

  36. # Деда: 

    Что мутное с этим ретранслятором, я так наблюдаю.

    Стальной комменты в своем относительно ретранслятора вообще не пропускает. Ты, говоришь, что знать не знаешь, кто его сделал, однако же ссылка на него в представительстве бомжеленты висит практически с момента его создания.

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

    Мое мнение таково, если бы не было личной заинтересованности кого-то выключить ретранслятор, то давно бы уже в бомжеленте появился призыв к выключившему – включить обратно или же был создан альтернативный ретранслятор на блогспоте.

  37. # Тормоз

    Хм, сомневаюсь, что Стальной специально блочит комментарии про ретранслятор. Хотя, не знаю, но лучше у него спросить.

    Мне тоже интересно было бы узнать, почему ретранслятор перестал транслировать. Странно.

  38. # yaman: 

    патамуша бомжелента изжила себя, как явление, и он заманалсо её ретраслировать

  39. # phpdude

    молодец, программисты уже не те …

    http://twitter.com/phpduderu/status/19399459564

Комментирование этой статьи закрыто.

Интересное Покупки ТехникаРазное Отдых Статьи Строительство Услуги Общество Хобби Культура Советы Уют