Sposoby komentowania kodu

Odpowiedz Nowy wątek
2006-12-08 12:47
0

Witam

Ostatnio zastanowiło mnie, w jaki sposób komentujecie swoje kody. Chodzi mi m.in. o to w jakiej osobie piszecie komentarza (a może bezosobowo)?

Pozdrawiam.


Pozdrawia DzieX

int getRandomNumber() { return 4; }

Pozostało 580 znaków

2006-12-08 12:57
0

Dobre pytanie. Tak się właśnie przyglądam aktualnemu projektowi i... chyba bezosobowo.

// długość i możliwe znaki losowo generowanych haseł, dowzolone wartości znaków
// alnum (alfanumeryczne), numeric (liczby), unique (33 znakowy unikatowy GUID)

czy też

function index()
    {
        //łączenie z bazą danych
        $this->load->database();

        // tutaj powinna być ładowana z bazy lista kategorii głównych
        $cdata = $this->category_model->get_main_category_list(-1);

        // ładowanie z bazy danych komunikatów
        $ndata = $this->news_model->get_news();

A już tak swoją drogą to stosuję phpDoc do opisywania wszystkich plików, klas i ich metod/właściwości. Wygodna sprawa.

Pozostało 580 znaków

2006-12-08 16:28
0

Ja zazwyczaj komentuję tak (chociaż zdarza się, że piszę "raz tak-raz tak"):

function index()
        {
                //łączymy się z bazą danych
                $this->load->database();

                // tutaj ładujemy z bazy listę kategorii głównych
                $cdata = $this->category_model->get_main_category_list(-1);

                // ładujemy z bazy danych komunikaty
                $ndata = $this->news_model->get_news();

homepage
<font size="1">Jeśli starasz się, by Twój system był idiotoodporny, zawsze znajdzie się idiota, który jest bardziej pomysłowy od Ciebie.</span>

Pozostało 580 znaków

2006-12-08 17:42
0

Ja chyba zawsze w ten sposob:

function index() //main function, retrieving cetagories and news
        {
                //sets database connection
                $this->load->database();

                // gets main categories list
                $cdata = $this->category_model->get_main_category_list(-1);

                // gets news list
                $ndata = $this->news_model->get_news();

You need to learn how to walk
before you can run

Pozostało 580 znaków

2006-12-08 18:21
0

Ja piszę zazwyczaj podobnie jak Ktos - bezosobowo.


Mam nadzieję, że pomogłem :)

Łukasz Brodny

Pozostało 580 znaków

2006-12-08 21:39
0

W komentarzach tryb rozkazujący, bo jest chyba najkrótszy z możliwych.
Przy większych kodach dodatkowo dopisuję złożoność (oczywiście jeżeli ma to sens)


Piszę programy w językach: C, C++, Java, Python, Bash, PHP, SQL.
Przyjmuję zlecenia

Pozostało 580 znaków

2006-12-09 17:10
0

U mnie idzie to mniej więcej tak:

#include<cośtam>

/*---------------------------------------------------------
Zmienne globalne
---------------------------------------------------------*/
int zmienna_glogalna1; /* wyjaśnienie zmiennej */
int  zmienna_glogalna2; /* wyjaśnienie zmiennej */
/*---------------------------------------------------------
deklaracje funkcji
---------------------------------------------------------*/
void funkcja1(); /* funkcja służy ...*/
void funkcja2(); /* funkcja służy ...*/
/*---------------------------------------------------------
definicje funkcji
---------------------------------------------------------*/
int main()
{
  funkcja1();
  funkcja2();
  return 0; /* wyjaśnienie */
}
/*-------------------------------------------------------*/
void funkcja1()
{
  zmienna_glogalna1++; /*zwiększ ilość o 1*/
}
/*-------------------------------------------------------*/
void funkcja2()
{
  zmienna_glogalna2++; /*zwiększ ilość o 1*/
}

Pozostało 580 znaków

2006-12-12 14:29
0

Komentarze w kodzie piszę bezosobowo w formie krótkich poleceń

// add user
user=new User("kapustka");
stickerSystem.addUser(user);

// add rules
RuleBuilder builder=new RuleBuilder();
builder.addSubject("ProductionOrder");
subjectRule=builder.getRule();
user.addRule(subjectRule);

// do what parser should do (however without filling params and events)
Subject subject=new SubjectProductionOrder();

Staram się też krótko opisać co robi klasa w następujący sposób:

/**
 * The target of event
 * - get target data (for example by sql query)
 * - go to details screen
 * - cache target data
 * 
 * If you want to trace events that have no target (like logout event maybe)
 * then use SubjectNothing subclass.
 * @author maciek
 */
public abstract class Subject implements Cloneable {

pozdrawiam</b>

Pozostało 580 znaków

2006-12-12 18:56
0

OOP:

ja natomiast przekonalem sie do nieco innego podejscia do komentarzy w kodzie

..nie stosowac ich w ogole!

dlaczego?
bo nie da sie ukryc ze zasmiecaja cztylnosc samego kodu (pomijam tutaj ew. uzycie foldingu)

w jakich warunkach?
w warunkach kiedy stawiamy na logiczna implementacje generujac metody tak specjalistyczne i tak krotkie, ze zadne wyjasnienia nie sa potrzebne

kiedy jednak?

  • wyjatkowa zawile, nieczytelene dla ludzkiego oka perlowe herezje
  • metody klas serwisowych o dlugiej liscie parametrow (dokumentacja listy argumentow)

Pozostało 580 znaków

2006-12-12 19:14
0

Ja zazwyczaj po prostu opisuje metode/klase (co robi, itp) + parametry, bo staram sie robic kilkulinijkowe. Opis tylko po to, zeby nie trzeba bylo sie wczytywac w te kilka linijek, bo mimo wszystko jest krocej.


You need to learn how to walk
before you can run

Pozostało 580 znaków

2006-12-12 22:43
0

Np. Jeśli poprawny wynik wywołania danej metody jest zależny od wcześniejszego wywołania innej metody danego obiektu,warto moim zdaniem napisać o tym.

jak to bedzie sytuacja?
mozesz podac przylad? (jakis prosty)

//Ktoś tu mi się w posta nieładnie wpie***lił :)
//wybacz chcialem dac odpowiedz a dalem edytuj :)

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0