» »

Pošljite nam vašo najboljšo kodo

Pošljite nam vašo najboljšo kodo

Heavy ::

Iz dolgčasa gledam zaposlitvene oglase in mnogi pišejo, da naj se priloži naša najboljša/ponosna stvaritev.

Sam pri tem nimam pojma kaj bi priložil. Mogoče kakšno bash skripto, kjer sem v eni vrstici rešil problem, za katerega bi rabil v drugih programskih jezikih par 10 vrstic. Še najraje pa bi poslal posnetke zaslona uporabniškega vmesnika, katerega sem naredil (ko stranke ne priloži dizajna in postanem deklica za vse).

Kaj bi vi poslali na tak oglas?
#TeamFelix

Yacked2 ::

Nič.
Korak naprej ni vedno ustrezen...sploh če si na robu prepada!

AndrejO ::

Link na GitHub, link na kakšne prispevke odprtokodnim projektom.

Za ostalo sam nisem prepričan, če ima smisla.

Če delovno mesto vključuje načrtovanje UI/UX, potem je posnetek GUI dobra stvar, sicer pa ne vidim njegove vrednosti.

sebastjan28 ::

Jaz sem še v vsakem podjetju še pred začetkom dela, moral podpisati Non disclosure agreement.

SimplyMiha ::

Tako je. Človek lahko pokaže kvečjemu tiste projekte, ki jih naredi sam (izven podjetja) ali pa so odprtokodni.

Zgodovina sprememb…

Red_Mamba ::

Poslji jim, da jih rade volje sprehodis skozi vse svoje projekte ce NDA podpisejo.
Drugace pa poslji opensource GIT linke
[st.slika https://img.shields.io/badge/Slo-Tech-green.svg test]
Linkedin >> http://goo.gl/839Aua
Mamba's Crypto & ICO's: https://t.me/joinchat/AAAAAExTkO4P4UDy0fIZdg

HotBurek ::

Kaj bi vi poslali na tak oglas?

Nekaj, kar se ti zdi zanimivo. Ce bi sprasevali za programiranje, bi dal spodnjo skripto. Nekje je treba začet :)

#!/usr/bin/python3.4

import time;

index = 0;
sign = "+";
color_1 = "\033[9";
color_2 = "m";
width = 8;
edge = " | ";
direction = "right";

while True:
    _line = "";
    _line = str(_line) + str(edge);

    if int(index) > 0:
        _counter = int(index);
        while int(_counter) > 0:
            _line = str(_line) + " ";
            _counter = int(_counter) - 1;
    _line = str(_line) + str(color_1) + str(index) + str(color_2) + str(sign) + "\033[0m";
    if int(index) < int(width):
        _counter = int(index);
        while int(_counter) < int(width):
            _line = str(_line) + " ";
            _counter = int(_counter) + 1;

    if str(direction) == "right":
        if int(index) < int(width):
            index = int(index) + 1;
        else:
            direction = "left";
            index = int(index) - 1;
    else:
        if int(index) > 0:
            index = int(index) - 1;
        else:
            direction = "right";
            index = int(index) + 1;

    _line = str(_line) + str(edge);

    print(_line);
    time.sleep(0.2);
root@debian:/# iptraf-ng
fatal: This program requires a screen size of at least 80 columns by 24 lines
Please resize your window

Zgodovina sprememb…

  • spremenilo: HotBurek ()

Red_Mamba ::

HotBurek je izjavil:

Kaj bi vi poslali na tak oglas?

Nekaj, kar se ti zdi zanimivo. Ce bi sprasevali za programiranje, bi dal spodnjo skripto. Nekje je treba začet :)


#!/usr/bin/python3.4

import time;

index = 0;
sign = "+";
color_1 = "\033[9";
color_2 = "m";
width = 8;
edge = " | ";
direction = "right";

while True:
_line = "";
_line = str(_line) + str(edge);

if int(index) > 0:
_counter = int(index);
while int(_counter) > 0:
_line = str(_line) + " ";
_counter = int(_counter) - 1;
_line = str(_line) + str(color_1) + str(index) + str(color_2) + str(sign) + "\033[0m";
if int(index) < int(width):
_counter = int(index);
while int(_counter) < int(width):
_line = str(_line) + " ";
_counter = int(_counter) + 1;

if str(direction) == "right":
if int(index) < int(width):
index = int(index) + 1;


else:
direction = "left";
index = int(index) - 1;
else:
if int(index) > 0:
index = int(index) - 1;
else:
direction = "right";
index = int(index) + 1;

_line = str(_line) + str(edge);

print(_line);
time.sleep(0.2);


lahko bi pohendlal se izhod iz programa
pa ceprav das sam try/catch za keyboardInterrupt ;)
[st.slika https://img.shields.io/badge/Slo-Tech-green.svg test]
Linkedin >> http://goo.gl/839Aua
Mamba's Crypto & ICO's: https://t.me/joinchat/AAAAAExTkO4P4UDy0fIZdg

HotBurek ::

Hotfix 1.1 :)

try:
    time.sleep(0.2);
except KeyboardInterrupt:
    print("\nCtrl + C");
    break;
root@debian:/# iptraf-ng
fatal: This program requires a screen size of at least 80 columns by 24 lines
Please resize your window

OrkAA ::

Koda mora biti dokumentirana, ce hoces, da si bo kdo vzel cas in pogledal kaj si poskusal dosect.

RejZoR ::

SimplyMiha je izjavil:

Tako je. Človek lahko pokaže kvečjemu tiste projekte, ki jih naredi sam (izven podjetja) ali pa so odprtokodni.


In zakaj ne bi smel pokazat na katerih projektih si delal prej, če je bilo to v okviru druge firme? Če je na projektu delalo več ljudi, potem ne, če pa si bil sam zadolžen za npr. kompletni grafični vmesnik, potem pa ne vidim razloga. Sploh če gre sicer za izdelek, ki se trži na prostem trgu in ni bil spisan specifično za interno uporabo nekega podjetja.
Angry Sheep Blog @ www.rejzor.com

SimplyMiha ::

Zato, ker izvorna koda pripada podjetju, za katero si jo naklamfal. Vsaj tako ima večina podjetij pripravljene pogodbe.

AndrejO ::

HotBurek je izjavil:

Kaj bi vi poslali na tak oglas?

Nekaj, kar se ti zdi zanimivo. Ce bi sprasevali za programiranje, bi dal spodnjo skripto. Nekje je treba začet :)

Strinjam se, da je nekje potrebno začeti.

Predlogi za izboljšave:

1) Python in podpičja? Vrstic ni potrebno zaključevati s podpičjem in zato naj se to znakovno smetje odstrani.

2) Manjka dokumentacija čemu aplikacija služi na vrhu.

3) Manjka razdelitev kode na logične sklope - funkcije.

4) Dodaj "standarden vzorec" za funkcijo main, kar bo olajšalo/omogočilo pisanje unit testov.

5) Spremenljivke na nivoju module niso zaželjene in so nevarne, če se jih uporabi, ne da bi za to obstajal dober razlog.

6) Popravi nekonsistentno poimenovanje spremenljivk. Zakaj enkrat index, spet naslednjič pa _count? To mi smrdi na nepoznavanje pravil za definiranje imen. Spremenljivki _line in _counter sta namreč tudi globalni spremenljivka in nista omejena na obseg while oz. if stavkov. Sploh pa je uporaba prefiksa "_" v tem primeru neskladna z njegovo običajno uporabo v Python-u - za označevanje imen, ki jih avtor modula oz. razreda šteje za zasebne.

7) Popravi nekonsistentno uporabo konstant. Enkrat imaš definirano "\033[9" kot color_1, potem pa nekje drugje uporabiš "\033[0m" neposredno v stavku. Oboje bi moralo biti globalna konstanta.

8) Popravi imena, da bodo upoštevala običajen Python stil (PEP 8). Npr. IME_KONSTANTE.

9) Odstrani neuporabno kodo (solato). Npr.:
_line = "";
_line = str(_line) + str(edge);

Zadoščalo bi že:
_line = edge


10) Odpravi neumnosti tipa:
if int(index) > 0:

Zadošča že:
if index > 0:


11) Izogibaj se uporabi znakovnih nizov, še zlasti, če jih želiš uporabljati kot enum. Namesto:
direction = "right";

# ...

if foo:
  direction = "left"
else:
  direction = "right"


Uporabiš Enum:
from enum import Enum

class Direction(Enum):
  RIGHT = 1
  LEFT = 2

direction = Direction.RIGHT

# ...

if foo:
  direction = Direction.LEFT
else:
  direction = Direction.RIGHT


12) Uporabljaj operator "a += b" namesto "a = a + b".

Zagotovo sem še kaj izpustil, ampak je bolje, da najprej odpraviš te težave, potem pa se še enkrat pogleda popravljen izdelek.


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

(Java) Iskanje manjkajoči podatkov v tabeli

Oddelek: Programiranje
151060 (825) noraguta
»

Fake traffic generator

Oddelek: Omrežja in internet
192270 (1466) HotBurek
»

[Java - DN] Naključna števila

Oddelek: Šola
121364 (893) nyler
»

[C#] Sesutje aplikacije

Oddelek: Programiranje
111629 (1464) Jean-Paul
»

kazalci, funkcije ipd...

Oddelek: Programiranje
71317 (1248) OwcA

Več podobnih tem