@spbpython

Страница 205 из 785
Eugene
21.11.2016
07:33:13
В какой-нибудь IDE типа PyCharm, во-первых, используется какой-то свой формат словаря (вроде бы), так она ещё и ресурсы жрёт как не в себя и тормозит.

Vitali K.
21.11.2016
07:37:33
С проверкой орфографии есть проблемы, например, она не понимает сокращения и аббревиатуры.
Тут можно придумать что-нибудь: не проверять слова короче 3 букв, например. Если слово составное, то искать в нем части (pycharm, умеет), иметь локальный словарь исключений (слов, которые у вас приняты на проекте)

Serge
21.11.2016
07:38:42
Не видят что в IDE слова подсвечиваются
Уволить к херам. Запороть на ревью.

Google
GNU/Docker
21.11.2016
07:39:46
Грамотность это важный скилл.

GNU/Docker
21.11.2016
07:40:11
Aspell однозначно

Serge
21.11.2016
07:40:12
А может уже и есть

Eugene
21.11.2016
07:45:38
Уволить к херам. Запороть на ревью.
На счёт уволить - скользкий вопрос. У нас в команде, например, есть математики, которые пишут на C++ так, что хочется плакать. И когда им говоришь, что их код не собирается на GCC, у них один аргумент: Мне плевать, у меня в студии всё собирается. И это никак не побороть. Ну не увольнять же их, где найти таких же, да ещё и со знанием C++? В итоге мне сильно надоело ругаться и спорить, я просто настроил CI и запретил делать push в master на гитхабе, пока код не соберётся на GCC. Теперь никаких проблем и споров, никакие претензии больше не принимаются: сделай так, чтобы собиралось на GCC, а иначе твой код не попадёт в проект.

Короче, зачастую человеческий фактор может побороть только тупая железка, которая не пустит пока не сделаешь всё правильно. :)

Vitali K.
21.11.2016
07:51:10
да, такая проверка проще чем договориться с каждым разработчиком и поддерживать эту договороенность (=проверять каждый раз)

pylint умеет “Checker for spelling errors in comments and docstrings.”

Но это не код

Eugene
21.11.2016
07:53:13
Видимо, pylint не првоеряет код именно по причине неумения разбивать имена переменных/функций/классов на осмысленные токены, чтобы их потом проверить.

Vitali K.
21.11.2016
07:55:28
https://pypi.python.org/pypi?%3Aaction=search&term=spell&submit=search

Google
Vitali K.
21.11.2016
07:56:01
тут есть чекеры которые работают по словарям самых частых опечаток

https://en.wikipedia.org/wiki/Wikipedia:Lists_of_common_misspellings/For_machines

Мой пример retreive->retrieve как раз сюда подпадает

Eugene
21.11.2016
07:58:06
Может лучше такие опечатки исправлять ещё на этапе набора текста? в винде, например, punto switcher так умеет. Но он с pycharm отвратно работает и вообще плохо работает в 8/10 винде.

Vitali K.
21.11.2016
08:05:38
Мне кажется я нервничал когда punto switcher пытался работать с визуалкой. Она потом попала в его исключения или с моей руки или еще на заводе

Поиграю с https://pypi.python.org/pypi/scspell3k

Serge
21.11.2016
09:19:07
Ну, смотрите, договориться и контролировать - разные вещи. Контролировать, конечно, надо автоматически. Если можно не договариваться, ну ок. Но иногда лучше все-таки сначала договориться, прежде, чем насаждать

Vitali K.
21.11.2016
09:27:00
Пока еще не с кем договариваться :)

Как считаете ограничение 79 символов на строку актуально?

Кейс: проприетарный коммерческий проект

Никто уже не пользуется 79 символьными терминалами. Да? Но ограничивать длину наверное хорошо чтобы енфорсить читабельную композицию кода. Минимум вложенных циклов и тп

Sergey
21.11.2016
09:55:10
side by side view неудобен со строками длиннее 79 на 15-дюймовых экранах

Vitali K.
21.11.2016
09:57:01
На ноутах типа

GNU/Docker
21.11.2016
10:55:32
Актуально.

на большом мониторе можно 4 файла открыть или 6 рядом.

Aleksander
21.11.2016
11:08:11
не раз замечал что через VPN работает инет быстрее чем без него у кого так же ?

в тред - разве нет возможности в pylint плагины писать ?

типа свои правила

Zart
21.11.2016
11:45:02
почитал скроллбак...

Google
Zart
21.11.2016
11:47:17
советовать раст человеку, который ищет плюсы для конкретной цели увольнять за подчеркивание в ИДЕ нанимать математиков на студии, а потом жаловаться что они не умеют в гцц "никто не пользуется 79 символьными терминалами" вы тут все долбанулись или через каждого первого?

keystr0ke
21.11.2016
12:01:09
"нанимать математиков на студии, а потом жаловаться что они не умеют в гцц"

Dmitry
21.11.2016
13:00:17
@zartsoft а что по поводу этого? :)

https://github.com/pypa/pipfile

Zart
21.11.2016
13:01:14
"Expressive Python syntax for declaring all types of Python dependencies." а не пойти бы им нахуй

нода головного мозга

я то надеялся что мету окончально в статику переведут, а тут всё опять навыворот

Eugene
21.11.2016
13:05:57
> нанимать математиков на студии, а потом жаловаться что они не умеют в гцц Ну, скорее жаловаться, что они не умеют с++. Но они как бы и не должны по-хорошему. Они и на бумажке могут, но кто-то же должен запрограммировать всё это

А GCC ругается чисто по стандарту, а вот msvc позволяет чёрт знает что, отсюда и печаль

Zart
21.11.2016
13:09:00
в мсвс кланг завезли, который умеет цветисто матерится

GNU/Docker
21.11.2016
13:19:42
я же говорил, копался тут в сорцах, который VC++6.0 собирался

с какими-то кастомными примочками, или расширениями.

инфы о том как собирался проект у меня нет

бласт фром зе паст

в 98 году ему было позволено то что появилось недавно в плюсах)

впрочем пришлось переписывать чтобы собрать хотя бы малую часть проекта

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

как в питоне кароч

Google
GNU/Docker
21.11.2016
13:22:05
типа for (int i = 0; i < a; i++) some_expression;

а потом она юзается где-то ещё.

то есть мне пришлось переписывать код чтобы msvc собрать

а уж гцц то.

пыф.

Eugene
21.11.2016
13:31:54
legacy - это всегда боль, но это какой-то запущенный случай, в общем, тебе не повезло :) Меня особо раздражает, что msvc глотает забытые typename в шаблонных классах. Он как-то там сам догадывается, что это тип, например: MyClass<MyType>::Pointer m_Pointer; GCC потребует указать typename: typename MyClass<MyType>::Pointer m_Pointer; А msvc не требует, и таких ошибок просто тонны в коде, где используются злые шаблонные библиотеки

Vitali K.
21.11.2016
13:32:09
Вы, главное, перед приходом Сереги сведите все обсуждения плюсов к Питону :)

Eugene
21.11.2016
13:34:15
Вы, главное, перед приходом Сереги сведите все обсуждения плюсов к Питону :)
Ну тут всё просто, математики должны использовать python для прототипов своих моделей и экспериментов, а не тратить время на всю эту ерунду

Admin
ERROR: S client not available

Vitali K.
21.11.2016
13:35:09
??

GNU/Docker
21.11.2016
13:36:10
там вобще какой-то пиздец с шаблонами

я потому то и искал что-нить по плюсам

template <class t> struct Vec3 { typedef Vec3<t> const & Rv; union { struct {t x,y,z;}; struct {t r,g,b;}; t raw[3]; };

вот такие вещи

я ОЧЕНЬ слабое представление имею о плюсовом синтаксисе

а там явный задроч на особенности msvc

и страшные оптимизации

с какими-то асмовыми вставками опять же

что точно не прожуёт гцц, а как потом это переписывать я не знаю)

Google
Serge
21.11.2016
13:42:38
В pypa сидят безвольные овощи

Eugene
21.11.2016
13:46:41
template <class t> struct Vec3 { typedef Vec3<t> const & Rv; union { struct {t x,y,z;}; struct {t r,g,b;}; t raw[3]; };
Да вот от такого просто мозг взрывается typedef typename ContainerType::template VectorType<ValueType> VectorType; m_Data->template ModifyMap<ValueType>(key, data); И думаешь, ну нафига всё это надо?! Как c++ кому-то может нравиться?

Alex
21.11.2016
13:46:42
Ребят, всем привет. Прошу не пинать. Никому помощник-питонист не нужен? Умею: чуть-чуть pyqt5, немного джанго, html+css+бд, сейчас изучаю JavaScript. Образование профильное. Уделять готов от 4 часов в день, платить не надо - хочу получить опыт и освоить современный подход к разработке.

Alex
21.11.2016
14:49:01
Да, сейчас пробую. Спасибо

Aleksander
21.11.2016
16:00:39
а кто какие конфиги для pylint юзает ? есть какие-то от вендоров от гугла или яндекса ?

Dmitry
21.11.2016
16:05:16
https://github.com/vinitkumar/googlecl/blob/master/googlecl-pylint.rc

Zart
21.11.2016
16:07:55
дефолты пилинту чинить можно и нужно

Vitali K.
21.11.2016
16:08:08
Интересно чем от стандартного отличается

Zart
21.11.2016
16:09:29
max-line-length=80 вижу у пилинта дефолт почему-то 100 афаир

Dmitry
21.11.2016
16:10:04
indent-string=' '

2 пробела

Zart
21.11.2016
16:25:16
79 же
$ ~/py/webdev/bin/pylint —generate-rcfile | grep max-line No config file found, using default configuration max-line-length=100

значит мой склероз помнит правильно

Serge
21.11.2016
16:25:46
ну да, но должно быть не 80, а 79

Zart
21.11.2016
16:25:46
в пилинте дефолт 100

Страница 205 из 785