Dokniska
U programiranju, dokniska predstavlja niz karaktera koji je specificiran u izvorom kodu i koji ima funkciju sličnu komentaru, tačnije ima funkciju dokumentovanja dela koda.Za razliku od uobičajenih komentara u izvornom kodu, ili pak specifično formatiranih komentara (kao što je Javadoc dokumentacija), dokniske nisu izuzete sa izvornog stabla u procesu raščlanjivanja (parsiranja) i zadržavaju se tokom izvršavanja programa. To omogućuje programeru da koristi te komentare tokom izvršavanja, koji na primer mogu pomoći razumevanju koda ili predstavljati metapodatke.
Poznato je da su se dokniske prvi put je pojavile u originalnoj TECO implementaciji Emacs-a.[1]Jezici koji podržavaju ovaj vid dokumentovanja su Python, Lisp, Elixir, Clojure,[2] Gherkin,[3]Julia[4] and Haskell .[5]
Primeri implemetnacije
[uredi | uredi izvor]Elixir
[uredi | uredi izvor]Dokumentacija je podržana na jezičkom nivou, u formi dokniski. Markdown je Elixir-ov osnovni jezik za obeležavanje(eng. markup language) sa mogućnošću korišćenja dokniski:
def module MyModule do
@moduledoc """
Документација за МyМodule , са форматирањем.
"""
@doc "Hello"
def world do
"World"
end
end
Lisp
[uredi | uredi izvor]Prema standardima Common Lisp-a prilikom određenih implementacija može se desiti da se zanemare dokniske iz nekog razloga. Međutim, kada to nije slučaj, dokniske se mogu menjati korišćenjem funkcije documentation .[6]Sledi primer:
(defun foo () "ово је нека докниска" nil)
(documentation #'foo 'function) => "ово је нека докниска"
Python
[uredi | uredi izvor]U programskom jeziku Python, uobičajena praksa dokumentovanja kodnog objekta jeste dodavanje na čelu njegove definicije sintaksu dokniske.
U Python-u dokniska za module, klase ili funkcije jeste prva reč tog objekta(modula, klase ili funkcije) odmah zatim prateći definiciju (''def'' ili ''class''). Ono što je važno jeste da to mora biti niska, a ne neka druga vrsta izraza.Dokniski funkcije se može pristupiti korišćenjem atributa funkcije __doc__ , korišćenje funkcije help je ujedno i korišćenje dokniske.
Sledeći primer prikazuje deklaraciju dokniske u izvornoj datoteci programskog jezika Python :
"""Докниска модула"""
class MyClass(object):
"""Докниска класе"""
def my_method(self):
"""Докниска методе"""
def my_function():
"""Докниска функције"""
Uz pretpostavku da je prethodni primer sačuvan pod nazivom mymodule.py, u sledećem primeru se prikazuje kao se može pristupiti nekim dokniskama:
>>> import mymodule
>>> help(mymodule)
Докниска модула
>>> help(mymodule.MyClass)
Докниска класе
>>> help(mymodule.MyClass.my_method)
Докниска методе
>>> help(mymodule.my_function)
Докниска функције
>>>
Vidi još
[uredi | uredi izvor]Reference
[uredi | uredi izvor]- ^ „EMACS: The Extensible, Customizable Display Editor”.
- ^ Function definition with docstring in Clojure
- ^ „Step Arguments - Doc Strings”. Arhivirano iz originala 2016-01-31. g. Pristupljeno 2020-06-27.
- ^ „Arhivirana kopija”. Arhivirano iz originala 05. 07. 2017. g. Pristupljeno 27. 06. 2020.
- ^ https://hackage.haskell.org/package/docstrings
- ^ CLHS: Standard Generic Function DOCUMENTATION