по теме статьи:
да, когда читал помню Макконнелла то мне казалось — хачем такие длинные имена обычным переменным? проще ж всякие там i, k — их и набирать быстрее. теперь это конечно вспоминается с улыбкой. как и то, что Си мне нравился больше Паскаля уже хотя бы потому, что писать { } быстрее чем begin и end. но когда begin пишешь с той же скоростью, что и скобку(а по правде — не пишешь вообще, из-за снипетов), а длинное имя переменной кажется не таким уж длинным — то все меняется. хороший код зачастую читается как русский язык и понятен с ходу. оптимизированный — лучше детально комментировать.
в своей практике(я думаю что так у любого программиста) — появилось некое такое спинно-мозговое чувство говнокода. т.е. изза человеческого фактора(усталость, позднее время суток) — понимаешь что так писать нельзя, но результат увидеть хочешь. в таких случаях как я советую поступать(сам уже давно так делаю):
if .... // govnokod
{
}
что это дает? во первых помогает бороться со своим ЧСВ. во вторых — облегчает поиск говнокода когда проект в заработал как надо. в третьих — если вы вернулись к проекту через пару лет — то вы видя этот код будете сразу знать, что во время написания вы считали ЭТО — говнокодом. Это относиться к синтаксису, или можно так сказать — к структурным ошибкам кода. как верно было замечено выше — условие никогда не появилось бы в корявом виде при использовании токенов(т.е. изменении структуры кода, при которой код меняется настолько, что говнокод исчезает сам собой). видя через пару лет подсказку оставленную ранее вы с легкостью понимаете, что тут еще есть где поработать над структурой, чтобы СИЕ — просто исчезло.
более мягкий вариант совета 1:
if .... // can be optimized by using tokens
{
}
ну тут понятно — вы видите оптимизацию, но поленились ее делать и оставили подсказку — как оптимизировать. вообще я так скажу что если вы такое видите — лучше идти спать, т.к. временные затраты на переделку обычно не меньше, чем на написание г-кода.
и чуть-чуть не по теме:
совет 3. честно — надеюсь его прочтут разработчики компиляторов, т.к. даже скорее пожелание а не совет. в плане фигурных скобок в Си и begin,end в Паскале — я пришел к тому что в идеале не писать ни того не другого. В этом плане хорош(блестательно, выдающийся) — Питон. во первых это привносит реальную дисциплину в форматирование кода и убирает все разногласия по этому поводу. во вторых экономит место по вертикали. в третьих экономит время на набор и форматирование кода. в четвертых избавляет ИДЕ от необходимости прорисовки всяческих вертикальных полосок. наличие же начал и концов блоков порождает вечный дискус о том что было в начале — курица или яйцо, занимая время, котрое могло быть потрачено на написание полезного кода.
потенциал «добра» от такой технологии трудно даже представить. вообще мне нравится как пытаются закутать что то подобное в обрертку Великого блага. обычно все рекламируемые прелести разбиваются одной поправкой к какому-нибудь соответствующему закону, а вот вред уже никуда не денешь.
к тому времени когда такие компьютеры будут, гипотетическому терминатору уже не нужно будет порабощать людей — люди сами охотно будут рабами терминаторов. холить их, лелеять и обслуживать.
Заголовок спойлера
это фактически уже происходит — достаточно зайти в метро и посмотреть как все уткнулись в свои смартфоны. я набирая этот коммент, тоже ощущаю это. фраза в статье: Какие алгоритмы интересны для квантового компьютера с точки зрения приложения?
— что это как не забота о ближнем?
терминаторы же — будут контролировать покорность людей и линчевать их. программу линчевания люди напишут себе сами.
Лайфхак:
придумать язык, в котором большинство слов, используемых в законодательных актах будут являться нецунзурными выражениями. таким образом законодательные акты попадут под влияние цензуры и будут выпилены: )
видео очень напоминает песни Эминема в цензурированном виде. где должно прозвучать слово, где должен произойти выброс адреналина от несправедливости и принести облегчение — вместо слова вставлена тишина и внутренний поток эмоций ВНЕЗАПНО прерывается).
еще интересно что вот например — не знает человек анлийского и слушает эту песню — ну ему то какая разница что там за слова, ему то зачем цензурировать(особенно если англ он изучать не планирует)
Должен извинится что несколько ввел народ в заблуждение — на самом деле French fry industry — взято из аудиокурса по английскому Effortless English, топик Eat your vegetables(кстати курс весьма неплох на мой взгляд). В памяти вместо French почему то отложилось pan )). Но с заменой результат не намного лучше, — перевод Гугл:
Французская жаркая промышленность
а как правильно мне и самому интересно. По тексту там понятно что это промышленность которая занимается обжаркой овощей [а потом продает их как свежие]. вообще смысл текста весьма любопытный, рекомендую послушать))
ЗЫ: пусть не покажется что я качу бочку на движок перевода Гугл. несмотря на все косяки он часто очень выручает, и я понимаю сколько труда стоит за тем, чтобы создать нечто подобное(к Промту это тоже относится). а критиковать как известно — дело нехитрое.
Кто там вверху Промт ругал? ).
Строчка популярной некогда песни, прошу ввести в гугл и убедиться, потому как не очень пока разобрался как вставлять картинки(или скажем — куда их заливать чтобы ссылки через пару дней не оказались битыми):
You've might been hurt babe
Перевод(на 12.06.17):
Возможно, вы были больны младенцем
с одной стороны — смешно. а с другой — к концу чуть подташнивать начинает.
еще:
если вы только что освоили JQuery, — сразу добавьте на свой сайт круглый телефон скачущий в правом нижнем углу — пусть все знают какой вы крутой программист. так и информацию на сайте читать веселей. все время помнишь что сайт писал толковый программист — вон оно напоминание в углу скачет.
если пользователь навел курсор мыши на «закрыть вкладку» (т.е. страничку с вашим сайтом) — немедленно выводите предварительно загруженный банер с голодающим африканским ребенком и подписью «Нэ-над-дда!». Если ваш сайт смотрит не какая то бессердечная сволочь — должно помочь. если он все равно нажмет на закрытие — киньте всплывающие окно «как, уже уходите?» — пусть видит что вы искренне удивлены его недалекостью — ведь только человек недалекого ума может покинуть Ваш сайт не изучив его как следует.
и наконец — чтобы таки было что изучать — не будьте банальны, — никогда не добавляйте пунктов меню «Цены» и «Контакты» — пусть они будут в непредсказуемых, трудно отыскиваемых местах. пункт «Цены» лучше вообще не размещать — ведь любой посетитель сайта наверняка хочет поболтать с вами а не тыкоть мышкой в бездушную машину. На худой конец — сделайте форму заказа без цены и подпись — что наш менеджер обязательно свяжется с вами чтобы уточнить детали.
устанавливайте разрешение для окна установки таким чтобы кнопки далее и отмена оказывалить невидимыми — как бы под панелью задач. а попытка перетащить за корешок окно вверх делала бы видимыми верхние полоски этих кнопок — ведь согласитесь — это проблема пользователей что они не обновили себе мониторы.
при чтении статьи сайта обязательно после пары прокруток колесика вниз выводить большой банер — ведь пользователь уже наверняка хочет подписаться на рассылку/поделиться с друзьями — а следовательно и кнопка Закрыть ему ни к чему.
кнопку скачать удобно делать с применением тем — согласитесь однородный фон — довольно скущЪная вещь: ). а размещать ее удобно в центре большого цветастого банера — пусть ка пользователь ее поищет, заодно и получше ознакомитьсся с сайтом.
очень удобно когда при увеличении масштаба страницы кнопки поделиться (контакт, фейсбук и т.д.) начинают наползать на статью, напоминая что делиться — это хорошо
самые выжные компоненты тяжеловесного приложения лучше проверять в конце — чтобы пользователь понимал — «а счастье было так возможно...». после алерта нужно конечно отменить установку не давая возможность закинуть пару недостающих ДЛЛ-ек самому — юзер ведь не хакер, да и зачем мы в конце концов писали инсталлятор? так что следут после единственной кнопки «Я понял» в алерте начать длительный роллбэк. а уж после доустановки всех компонент — инсталлятор сработает как надо))
ничего страшного если прогресс-бар наполняется то слишком медленно то мгновенно. в жизни ничто не линейно. пусть пользователь философски относится к процессам.
только школьники используют установленные по умолчанию шрифты. шрифт должен быть уникальным. если его нет в системе — не беда что пользователь первый раз увидит закарлючки — наверняка с его проблемой уже кто то сталкивался и отписал на форуме как поставить этот шрифт чтобы прога его увидела (прога не должна искать этот шрифт в своей папке — т.к. это примитивно, и — мы за разделяемые ресурсы)
основной интерфейс должен быть приятного белого цвета. фон тоже должен быть белым. между ними должна быть тонкая серая рамка. белый цвет — самый приятный для глаз, это доказанный и неоспоримый факт. да и в темноте он виден лучше.
опции должны быть очень гибкими и позволять пользователю все — настроить приложение как на максимально удобную работу в приложении, так и на максимально не удобную. если есть пользователи которые хотят страдать — мы не должны ущемлять их права.
не нужно считать что масштабирование по Ctrl ± — удобная вещь. Ctrl+Колесико — тоже в топку. хотя бы потому что к хорошему быстро привыкаешь, а потом ваш пользователь будет пытаться это сделать в других приложениях и не сможет — расстройство превысит радость.
появление консультанта на вэб-страницах обязательно сопровождать громким Пииииинннь. пусть спящие домашние и соседи снизу тоже знают что пользователю требуется консультация.
если вы защищаете сайт капчей — защищайте как следует. если это текст — посильнее его исказите и зашумите — помните — в наш век технологий программы поумнели и могут Своими Мощностями взломать вход в личным ПФФ-кам несчастного юзера. если это изображения — пусть они будут мелкими. и пусть их будет много. чем больше — тем меньше вероятность угадывания ботом. пусть юзер почуствует себя существом обладающим высшим разумом по сравнению со своим ПК.
если вы хотите защитить пользователя — пусть пароль к его учетке будет сложным. не нудно сразу говорить ему об этом — можно и потом, после неудачной попытки и обнуления всех полей. причем по одному замечанию на одну попытку — сначала объясните что длина должна быть… скажем 15 символов, затем — что очень желательно чтобы были цифры, затем — что регистр букв должен быть разным, ну и наконец специальные символы — куда ж без них.
внедряйте побольше новых форматов. свои форматы — хорошо. чужие — архаизм. ваша программа не обязана ничего никуда портировать, равно как и поддерживать чьи-то «гениальные» форматы. гений — это вы, остальные — кучка тупиц. обновляйте свои форматы. ничего страшного если у пользователей со старой версией не октроются обновленные форматы и наоборот. главное — красота Вашего кода. а красота требует жертв.
ПыСы: простите за, возможно, излишний сарказм, просто наболело
да, когда читал помню Макконнелла то мне казалось — хачем такие длинные имена обычным переменным? проще ж всякие там i, k — их и набирать быстрее. теперь это конечно вспоминается с улыбкой. как и то, что Си мне нравился больше Паскаля уже хотя бы потому, что писать { } быстрее чем begin и end. но когда begin пишешь с той же скоростью, что и скобку(а по правде — не пишешь вообще, из-за снипетов), а длинное имя переменной кажется не таким уж длинным — то все меняется. хороший код зачастую читается как русский язык и понятен с ходу. оптимизированный — лучше детально комментировать.
в своей практике(я думаю что так у любого программиста) — появилось некое такое спинно-мозговое чувство говнокода. т.е. изза человеческого фактора(усталость, позднее время суток) — понимаешь что так писать нельзя, но результат увидеть хочешь. в таких случаях как я советую поступать(сам уже давно так делаю):
что это дает? во первых помогает бороться со своим ЧСВ. во вторых — облегчает поиск говнокода когда проект в заработал как надо. в третьих — если вы вернулись к проекту через пару лет — то вы видя этот код будете сразу знать, что во время написания вы считали ЭТО — говнокодом. Это относиться к синтаксису, или можно так сказать — к структурным ошибкам кода. как верно было замечено выше — условие никогда не появилось бы в корявом виде при использовании токенов(т.е. изменении структуры кода, при которой код меняется настолько, что говнокод исчезает сам собой). видя через пару лет подсказку оставленную ранее вы с легкостью понимаете, что тут еще есть где поработать над структурой, чтобы СИЕ — просто исчезло.
более мягкий вариант совета 1:
ну тут понятно — вы видите оптимизацию, но поленились ее делать и оставили подсказку — как оптимизировать. вообще я так скажу что если вы такое видите — лучше идти спать, т.к. временные затраты на переделку обычно не меньше, чем на написание г-кода.
и чуть-чуть не по теме:
совет 3. честно — надеюсь его прочтут разработчики компиляторов, т.к. даже скорее пожелание а не совет. в плане фигурных скобок в Си и begin,end в Паскале — я пришел к тому что в идеале не писать ни того не другого. В этом плане хорош(блестательно, выдающийся) — Питон. во первых это привносит реальную дисциплину в форматирование кода и убирает все разногласия по этому поводу. во вторых экономит место по вертикали. в третьих экономит время на набор и форматирование кода. в четвертых избавляет ИДЕ от необходимости прорисовки всяческих вертикальных полосок. наличие же начал и концов блоков порождает вечный дискус о том что было в начале — курица или яйцо, занимая время, котрое могло быть потрачено на написание полезного кода.
к тому времени когда такие компьютеры будут, гипотетическому терминатору уже не нужно будет порабощать людей — люди сами охотно будут рабами терминаторов. холить их, лелеять и обслуживать.
Какие алгоритмы интересны для квантового компьютера с точки зрения приложения?
— что это как не забота о ближнем?
терминаторы же — будут контролировать покорность людей и линчевать их. программу линчевания люди напишут себе сами.
придумать язык, в котором большинство слов, используемых в законодательных актах будут являться нецунзурными выражениями. таким образом законодательные акты попадут под влияние цензуры и будут выпилены: )
еще интересно что вот например — не знает человек анлийского и слушает эту песню — ну ему то какая разница что там за слова, ему то зачем цензурировать(особенно если англ он изучать не планирует)
Французская жаркая промышленность
а как правильно мне и самому интересно. По тексту там понятно что это промышленность которая занимается обжаркой овощей [а потом продает их как свежие]. вообще смысл текста весьма любопытный, рекомендую послушать))
ЗЫ: пусть не покажется что я качу бочку на движок перевода Гугл. несмотря на все косяки он часто очень выручает, и я понимаю сколько труда стоит за тем, чтобы создать нечто подобное(к Промту это тоже относится). а критиковать как известно — дело нехитрое.
pan fry industry
перевод:
сковорода
Строчка популярной некогда песни, прошу ввести в гугл и убедиться, потому как не очень пока разобрался как вставлять картинки(или скажем — куда их заливать чтобы ссылки через пару дней не оказались битыми):
You've might been hurt babe
Перевод(на 12.06.17):
Возможно, вы были больны младенцем
еще:
если вы только что освоили JQuery, — сразу добавьте на свой сайт круглый телефон скачущий в правом нижнем углу — пусть все знают какой вы крутой программист. так и информацию на сайте читать веселей. все время помнишь что сайт писал толковый программист — вон оно напоминание в углу скачет.
если пользователь навел курсор мыши на «закрыть вкладку» (т.е. страничку с вашим сайтом) — немедленно выводите предварительно загруженный банер с голодающим африканским ребенком и подписью «Нэ-над-дда!». Если ваш сайт смотрит не какая то бессердечная сволочь — должно помочь. если он все равно нажмет на закрытие — киньте всплывающие окно «как, уже уходите?» — пусть видит что вы искренне удивлены его недалекостью — ведь только человек недалекого ума может покинуть Ваш сайт не изучив его как следует.
и наконец — чтобы таки было что изучать — не будьте банальны, — никогда не добавляйте пунктов меню «Цены» и «Контакты» — пусть они будут в непредсказуемых, трудно отыскиваемых местах. пункт «Цены» лучше вообще не размещать — ведь любой посетитель сайта наверняка хочет поболтать с вами а не тыкоть мышкой в бездушную машину. На худой конец — сделайте форму заказа без цены и подпись — что наш менеджер обязательно свяжется с вами чтобы уточнить детали.
при чтении статьи сайта обязательно после пары прокруток колесика вниз выводить большой банер — ведь пользователь уже наверняка хочет подписаться на рассылку/поделиться с друзьями — а следовательно и кнопка Закрыть ему ни к чему.
кнопку скачать удобно делать с применением тем — согласитесь однородный фон — довольно скущЪная вещь: ). а размещать ее удобно в центре большого цветастого банера — пусть ка пользователь ее поищет, заодно и получше ознакомитьсся с сайтом.
очень удобно когда при увеличении масштаба страницы кнопки поделиться (контакт, фейсбук и т.д.) начинают наползать на статью, напоминая что делиться — это хорошо
самые выжные компоненты тяжеловесного приложения лучше проверять в конце — чтобы пользователь понимал — «а счастье было так возможно...». после алерта нужно конечно отменить установку не давая возможность закинуть пару недостающих ДЛЛ-ек самому — юзер ведь не хакер, да и зачем мы в конце концов писали инсталлятор? так что следут после единственной кнопки «Я понял» в алерте начать длительный роллбэк. а уж после доустановки всех компонент — инсталлятор сработает как надо))
ничего страшного если прогресс-бар наполняется то слишком медленно то мгновенно. в жизни ничто не линейно. пусть пользователь философски относится к процессам.
только школьники используют установленные по умолчанию шрифты. шрифт должен быть уникальным. если его нет в системе — не беда что пользователь первый раз увидит закарлючки — наверняка с его проблемой уже кто то сталкивался и отписал на форуме как поставить этот шрифт чтобы прога его увидела (прога не должна искать этот шрифт в своей папке — т.к. это примитивно, и — мы за разделяемые ресурсы)
основной интерфейс должен быть приятного белого цвета. фон тоже должен быть белым. между ними должна быть тонкая серая рамка. белый цвет — самый приятный для глаз, это доказанный и неоспоримый факт. да и в темноте он виден лучше.
опции должны быть очень гибкими и позволять пользователю все — настроить приложение как на максимально удобную работу в приложении, так и на максимально не удобную. если есть пользователи которые хотят страдать — мы не должны ущемлять их права.
не нужно считать что масштабирование по Ctrl ± — удобная вещь. Ctrl+Колесико — тоже в топку. хотя бы потому что к хорошему быстро привыкаешь, а потом ваш пользователь будет пытаться это сделать в других приложениях и не сможет — расстройство превысит радость.
появление консультанта на вэб-страницах обязательно сопровождать громким Пииииинннь. пусть спящие домашние и соседи снизу тоже знают что пользователю требуется консультация.
если вы защищаете сайт капчей — защищайте как следует. если это текст — посильнее его исказите и зашумите — помните — в наш век технологий программы поумнели и могут Своими Мощностями взломать вход в личным ПФФ-кам несчастного юзера. если это изображения — пусть они будут мелкими. и пусть их будет много. чем больше — тем меньше вероятность угадывания ботом. пусть юзер почуствует себя существом обладающим высшим разумом по сравнению со своим ПК.
если вы хотите защитить пользователя — пусть пароль к его учетке будет сложным. не нудно сразу говорить ему об этом — можно и потом, после неудачной попытки и обнуления всех полей. причем по одному замечанию на одну попытку — сначала объясните что длина должна быть… скажем 15 символов, затем — что очень желательно чтобы были цифры, затем — что регистр букв должен быть разным, ну и наконец специальные символы — куда ж без них.
внедряйте побольше новых форматов. свои форматы — хорошо. чужие — архаизм. ваша программа не обязана ничего никуда портировать, равно как и поддерживать чьи-то «гениальные» форматы. гений — это вы, остальные — кучка тупиц. обновляйте свои форматы. ничего страшного если у пользователей со старой версией не октроются обновленные форматы и наоборот. главное — красота Вашего кода. а красота требует жертв.
ПыСы: простите за, возможно, излишний сарказм, просто наболело