86 lines
		
	
	
	
		
			2.6 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
	
	
			
		
		
	
	
			86 lines
		
	
	
	
		
			2.6 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
	
	
| Zkratky aplikací ve zdrojácích
 | |
| @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
 | |
| 
 | |
| Ve zdrojácích (zejména různé ``models.py``, ``views.py`` ap.) používáme spoustu
 | |
| modelů. Někdy je praktičtější / někdo preferuje importovat celou aplikaci jako
 | |
| jedno jméno a používat modely bez explicitních importů, tj::
 | |
| 
 | |
|     # „hromadné“ importy:
 | |
|     import personalni.models as p
 | |
|     ...
 | |
|     p.Organizator.objects.all()
 | |
| 
 | |
|     # „explicitní“ importy:
 | |
|     from personalni.models import Organizator
 | |
|     ...
 | |
|     Organizator.objects.all()
 | |
| 
 | |
| Na webschůzce 2024-11-05 jsme na toto téma otevřeli diskusi, tady je její závěr.
 | |
| 
 | |
| .. admonition:: Historické okénko
 | |
|    :class: note
 | |
| 
 | |
|    Kdysi jsme měli (prakticky) všechny modely v jedné aplikaci, ``seminar``. Na
 | |
|    různých místech se pak ``seminar.models`` importovalo typicky jako ``s``
 | |
|    nebo jako ``m``.
 | |
| 
 | |
|    Přirozeně, toto už nejde tak snadno, protože už neexistuje jedno místo, ze
 | |
|    kterého chceme tahat modely v kódu.
 | |
| 
 | |
| Konvence
 | |
| ========
 | |
| 
 | |
| Shodli jsme se, že nám rozhodně nevadí explicitní importy a z pohledu
 | |
| čitelnosti je preferujeme. Nicméně při psaní kódu to některým webařům přijde
 | |
| nepohodlné, takže očekáváme, že bude existovat spousta kódu, která bude chtít
 | |
| importovat hromadně. Usnesli jsme se proto na následujících kanonických
 | |
| zkratkách, aby se aplikace alespoň zkracovaly konzistentně.
 | |
| 
 | |
| V závorkách je uvedené případné jméno, ale nepředpokládáme, že někdo bude danou
 | |
| aplikaci chtít importovat hromadně. Některé aplikace zkratku nemají, ty se
 | |
| importují vždy pod plným jménem nebo explicitně.
 | |
| 
 | |
| .. list-table::
 | |
|    :header-rows: 1
 | |
| 
 | |
|    * - Model
 | |
|      - Zkratka
 | |
|    * - ``aesop``
 | |
|      - ---
 | |
|    * - ``api``
 | |
|      - --- (``api``)
 | |
|    * - ``galerie``
 | |
|      - ``g``
 | |
|    * - ``header_fotky``
 | |
|      - --- (``hdr``)
 | |
|    * - ``korektury``
 | |
|      - ``kor``
 | |
|    * - ``novinky``
 | |
|      - ``nov``
 | |
|    * - ``odevzdavatko``
 | |
|      - ``odev``
 | |
|    * - ``personální``
 | |
|      - ``pers``/``p``
 | |
|    * - ``sifrovacka``
 | |
|      - (``sifr``)
 | |
|    * - ``soustredeni``
 | |
|      - ``sou``
 | |
|    * - ``treenode``
 | |
|      - ``tn``
 | |
|    * - ``tvorba``
 | |
|      - ``tv``
 | |
|    * - ``various``
 | |
|      - ``v``/``var``
 | |
|    * - ``vyroci``
 | |
|      - ---
 | |
|    * - ``vysledkovky``
 | |
|      - ``vysl``
 | |
| 
 | |
| 
 | |
| .. admonition:: O všech modelech pod jedním jménem
 | |
|    :class: warning
 | |
| 
 | |
|    Historické okénko výš zatajuje jeden detail: Při práci v shellu se hodí mít
 | |
|    modely k dispozici a nemuset přemýšlet nad dělením do aplikací, takže ve
 | |
|    skutečnosti existuje ``mamweb.vsechno``, jenž všechny modely obsahuje.
 | |
|    Z čitelnostních důvodů je ale *zakázáno* tento modul používat v kódu.
 | 
