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

Elixir

uredi

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

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

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

Reference

uredi