Python - zbožňovaný lidmi?

ByCzech

  • *****
  • 1 857
    • Zobrazit profil
    • E-mail
Re:Python - zbožňovaný lidmi?
« Odpověď #225 kdy: 12. 12. 2017, 00:50:59 »
Zrejme si svoje zdrojaky editoval vzdy na tom istom PC, kde si mal nejake jendoznacne nastavenie. Ja som editoval ten isty zdrojak vselikde - v praci na PC, doma na PC, alebo na notebooku a zrejme som nemal vsade rovnako nastaveny vim.

Chybný předpoklad... Naopak editoval jsem na různých PC v různých editorech/IDE, překopírovával i mezi nimi přes clipboard, zkoušel si různé kusy kódy kopírované z netu ap. Možná jen jiná sada editorů/IDE než u vás, že se mi to nikdy neprojevilo nebo jsem věděl přesněji co dělám, kdo ví...
Nevylučuji, že se problémy nemůžou stát při konverzi TAB → SPACE ap., ale problém vzniká spíše zřídka za zřejmě nestandardních podmínek.


wsh

Re:Python - zbožňovaný lidmi?
« Odpověď #226 kdy: 12. 12. 2017, 00:53:40 »
Zrejme si svoje zdrojaky editoval vzdy na tom istom PC, kde si mal nejake jendoznacne nastavenie. ...  Odvetdy na odsadzovanie pouzivam SPACEs a po kazdej malej zmene vzdy checkujem, ci nie je v zdrojaku zabudnuty nejaky TAB.

Ideálně si do projektu commitnout .editorconfig. A v rámci CI (nebo jako git hook) používat flake8. A je po problémech.

Hilderbert

Re:Python - zbožňovaný lidmi?
« Odpověď #227 kdy: 12. 12. 2017, 05:48:58 »
Uvital by som, keby v buducej verzii Pythonu  namiesto odsadzovania bola aj moznost davat tam end - podobne ako je to napr. v Ruby - t.j. napr, namiesto:
Kód: [Vybrat]
for list in list_of_lists:
    for x in list:
        print x
takto
Kód: [Vybrat]
for list in list_of_lists:
    for x in list:
        print x
    end
end
Tych par riadkov navyse by mi nevadilo  :)
Tak mě by to vadilo, zhoršuje to přehlednost kodu, protože skrz to člověk vidí méně informací pohromadě. Proto platí doporučení psát krátké metody, a velké rozdělovat. Takže tyto řádky navíc vedou k větší fragmentaci kódu. Ale klidně si je tam doplňuj pomocí komentářů, pokád ti to přijde přehlednější

Hilderbert

Re:Python - zbožňovaný lidmi?
« Odpověď #228 kdy: 12. 12. 2017, 06:09:48 »
Jedine na com som sa ja Pythone popalil bolo odsadzovanie.

To je zajímavé, protože přesně z toho jsem měl největší obavy než jsem se s Pythonem začal pořádně kamarádit a přitom jsem s tím za ty roky nikdy problém neměl...
Zrejme si svoje zdrojaky editoval vzdy na tom istom PC, kde si mal nejake jendoznacne nastavenie. Ja som editoval ten isty zdrojak vselikde - v praci na PC, doma na PC, alebo na notebooku a zrejme som nemal vsade rovnako nastaveny vim.
Napodiv vsecko fungovalo, len sa zistilo, ze ked sa zdrojak otvoril v nejakom inom editore, tak bol nespravne odsadeny. Ja som vtedy pouzival vim. Pouzival som nastavenie 1TAB = 2SPACEs a k tomu este nahradzovat TAB za SPACEs, ale zrejme na inom PC (kde som to pisal) som to zabudol nastavit, takze v kode boli v konecnom dosledku aj taby aj spacy, a ked to otvorili v inom editore, kde bolo nstavenie napr TAB = 4 SPACEs tak to bolo rozhadzane. Vyslo to najavo az po niekolkych rokoch, co tie utility fungovali. Dalo sa to dost jednoducho aj opravit (vo Vime), ale predsa - opravovat takto odsadenie v starych programoch, ktore uz par rokov chodia je dost adrenalinove. Odvtedy to vnimam ako nedostatok Pythonu a nieco naco si treba davat poriadny pozor a co by bolo v buducnosti vhodne zlepsit. Odvetdy na odsadzovanie pouzivam SPACEs a po kazdej malej zmene vzdy checkujem, ci nie je v zdrojaku zabudnuty nejaky TAB.
Stacilo by, kdybys dodrzoval oficialni Style Guide, ktere stanovuji, ze u python codu se pouzivaji pro odsazeni 4 mezery. https://www.python.org/dev/peps/pep-0008/

Ja programuji napric platformami a napric pocitaci, v ruznych editorech. A to velmi intenzivne, kod sdilim pres dropbox na nekolika pocitacich a prubezne ho upravuji z rady pocitacu, dokonce i na android tabletu jsem toho uz dost napsal a nemam s tim sebemensi problem. Nepredstzvuje to realny problem, nestoji to ani za rec, staci akorat zacatecnikovi rict, odsazuj ctyrma mezerama, at jsi kompatibilni se svetem a to je cele.

Hilderbert

Re:Python - zbožňovaný lidmi?
« Odpověď #229 kdy: 12. 12. 2017, 06:15:02 »
Mimíchodem, kdyby sis https://www.python.org/dev/peps/pep-0008/ precetl, vedel bys o parametrech -t a -tt a take bys vedel, ze python3 uz kombinaci mezer a tabu nedovoluje vubec.


Hilderbert

Re:Python - zbožňovaný lidmi?
« Odpověď #230 kdy: 12. 12. 2017, 06:20:51 »
A kdybys to myslel s Pythonem opravdu vazne, pak doporucuji pouzivat https://www.pylint.org, rozumne editory to umoznuji automaticky.

gll

Re:Python - zbožňovaný lidmi?
« Odpověď #231 kdy: 12. 12. 2017, 07:23:05 »
A kdybys to myslel s Pythonem opravdu vazne, pak doporucuji pouzivat https://www.pylint.org, rozumne editory to umoznuji automaticky.

Doporučuji ten výše zmíněný flake8. Pylint je moc přísný. Je to integrované ve všech lepších editorech a IDE.

mikrom

Re:Python - zbožňovaný lidmi?
« Odpověď #232 kdy: 12. 12. 2017, 07:24:00 »
Stacilo by, kdybys dodrzoval oficialni Style Guide, ktere stanovuji, ze u python codu se pouzivaji pro odsazeni 4 mezery. https://www.python.org/dev/peps/pep-0008/
odsadzujem vzdy iba o 2 medzery, pretoze nemam rad moc dlhe riadky.
Pouzivam dlzku riadku iba do 80 znakov (okrem Javy - tam to nejde) .

mikrom

Re:Python - zbožňovaný lidmi?
« Odpověď #233 kdy: 12. 12. 2017, 07:25:19 »
python3 uz kombinaci mezer a tabu nedovoluje vubec.
Pouzivam iba python 2.x

gll

Re:Python - zbožňovaný lidmi?
« Odpověď #234 kdy: 12. 12. 2017, 07:37:27 »
Stacilo by, kdybys dodrzoval oficialni Style Guide, ktere stanovuji, ze u python codu se pouzivaji pro odsazeni 4 mezery. https://www.python.org/dev/peps/pep-0008/
odsadzujem vzdy iba o 2 medzery, pretoze nemam rad moc dlhe riadky.
Pouzivam dlzku riadku iba do 80 znakov (okrem Javy - tam to nejde) .

to je špatně. Takový kód bude nekompatibilní se vším ostatním. Délku řádku lze dodržet i při odsazování 4 mezery.

Hilderbert

Re:Python - zbožňovaný lidmi?
« Odpověď #235 kdy: 12. 12. 2017, 07:45:27 »
A kdybys to myslel s Pythonem opravdu vazne, pak doporucuji pouzivat https://www.pylint.org, rozumne editory to umoznuji automaticky.

Doporučuji ten výše zmíněný flake8. Pylint je moc přísný. Je to integrované ve všech lepších editorech a IDE.

Pylint je konfigurovatelný, takže je tak přísný, jak je potřeba.

Hilderbert

Re:Python - zbožňovaný lidmi?
« Odpověď #236 kdy: 12. 12. 2017, 07:50:25 »
Stacilo by, kdybys dodrzoval oficialni Style Guide, ktere stanovuji, ze u python codu se pouzivaji pro odsazeni 4 mezery. https://www.python.org/dev/peps/pep-0008/
odsadzujem vzdy iba o 2 medzery, pretoze nemam rad moc dlhe riadky.
Pouzivam dlzku riadku iba do 80 znakov (okrem Javy - tam to nejde) .

Uvedený PEP08 stanovuje konvenci 4 mezery pro odsazení, délka řádku 79 pro kód a 72 pro docstring. Takže 4 mezery pro odsazení se nejen že nevylučují s krátkými řádky, vyžaduje se naopak obojí. Ale proč nečůrat proti větru a kolektivní prověřené zkušenosti a následně si navíc na důsledky stěžovat, že?

Hilderbert

Re:Python - zbožňovaný lidmi?
« Odpověď #237 kdy: 12. 12. 2017, 07:53:58 »
python3 uz kombinaci mezer a tabu nedovoluje vubec.
Pouzivam iba python 2.x
No a co? I pro python 2 jsem uvedl řešení. Evidentně si pleteš nejde a nechci. Nepopisuješ objektivní problém, ale subjektivní postojl

gll

Re:Python - zbožňovaný lidmi?
« Odpověď #238 kdy: 12. 12. 2017, 10:02:51 »
A kdybys to myslel s Pythonem opravdu vazne, pak doporucuji pouzivat https://www.pylint.org, rozumne editory to umoznuji automaticky.

Doporučuji ten výše zmíněný flake8. Pylint je moc přísný. Je to integrované ve všech lepších editorech a IDE.

Pylint je konfigurovatelný, takže je tak přísný, jak je potřeba.

flake8 funguje rozumně i v defaultním nastavení a integruje víc checkerů dohromady.

mikrom

Re:Python - zbožňovaný lidmi?
« Odpověď #239 kdy: 12. 12. 2017, 11:31:29 »
Stacilo by, kdybys dodrzoval oficialni Style Guide, ktere stanovuji, ze u python codu se pouzivaji pro odsazeni 4 mezery. https://www.python.org/dev/peps/pep-0008/
odsadzujem vzdy iba o 2 medzery, pretoze nemam rad moc dlhe riadky.
Pouzivam dlzku riadku iba do 80 znakov (okrem Javy - tam to nejde) .

to je špatně. Takový kód bude nekompatibilní se vším ostatním. Délku řádku lze dodržet i při odsazování 4 mezery.
Ked budem nabuduce nieco robit v pythone skusim 4 medzery.