Kolozzeum Forum - Sveriges största träningsforum
Gå tillbaka   Kolozzeum Forum - Sveriges största träningsforum > Träning > Allmänt Forum

Svara
 
Ämnesverktyg Visningsalternativ
Gammal 2020-06-03, 21:04   #2431
eternallord
Registered User
 
eternallords avatar
 
Reg.datum: Aug 2009
Inlägg: 190
Citat:
Ursprungligen postat av PixelMiner Visa inlägg
Som sagt kolla gamla Microsoft interface. Ta till exempel WinMain, som är alla windows programs ingångsport.

Kod:
int __clrcall WinMain(
  HINSTANCE hInstance,
  HINSTANCE hPrevInstance,
  LPSTR     lpCmdLine,
  int       nShowCmd
);
Här ser man prefixen h för alla variabler som är handles, lp för long pointer string, n för heltal (int).
https://docs.microsoft.com/en-us/win...inbase-winmain
Jag försöker inte säga att det inte funnits bra anledningar en gång i tiden (och kanske fortfarande finns om man behöver tackla uråldrig legacykod eller använda något obskyrt hårdvaru-nära lågnivå-språk), men i dagsläget kodar den absoluta majoriteten i statiskt typade språk där det är helt redundant eftersom typen är deklarerad eller tydlig från funktionssignaturen, eller i moderna dynamiska språk som Clojure som kompetent och smidigt hanterar eventuella konverteringar mellan närliggande datastrukturer så att man så gott som aldrig behöver tänka på det.
__________________
"Hey, I'm not surprised motherfuckers" -Nate Diaz
eternallord är inte uppkopplad   Svara med citat
Gammal 2020-06-03, 21:44   #2432
PixelMiner
Lyfter tunga pixlar
 
PixelMiners avatar
 
Reg.datum: Oct 2008
Inlägg: 336
Citat:
Ursprungligen postat av eternallord Visa inlägg
Jag försöker inte säga att det inte funnits bra anledningar en gång i tiden (och kanske fortfarande finns om man behöver tackla uråldrig legacykod eller använda något obskyrt hårdvaru-nära lågnivå-språk), men i dagsläget kodar den absoluta majoriteten i statiskt typade språk där det är helt redundant eftersom typen är deklarerad eller tydlig från funktionssignaturen, eller i moderna dynamiska språk som Clojure som kompetent och smidigt hanterar eventuella konverteringar mellan närliggande datastrukturer så att man så gott som aldrig behöver tänka på det.
Håller med om allt du säger!

Citat:
Ursprungligen postat av Agitator Visa inlägg
Håll det kort och koncist där det går och försök undvika överdrivet långa namn. Bättre att lära sig att kommentera sitt stycke kod begripligt.

Bästa är ju när man bara läser kod och ser vad koden gör istället för att fokusera på kommentarerar och massa komplexa namn.
Jag är inte ett jättefan av kommentarer heller. Det finns situationer där kommentarer kan vara nyttiga, men de är få. Om jag känner att en viss kodsnutt behöver en kommentar, så beror det ju oftast på att jag slarvat med koddesignen och uttryckt mig dåligt i kod.

Det här är ett rätt roligt föredrag kring dåliga kommentarer:


Och detta en timme långa föredrag kring namngivning är definitivt sevärt:

PixelMiner är inte uppkopplad   Svara med citat
Gammal 2020-06-04, 10:39   #2433
Köttis
Registered User
 
Reg.datum: Oct 2009
Inlägg: 612
Citat:
Ursprungligen postat av PixelMiner Visa inlägg


Jag är inte ett jättefan av kommentarer heller. Det finns situationer där kommentarer kan vara nyttiga, men de är få. Om jag känner att en viss kodsnutt behöver en kommentar, så beror det ju oftast på att jag slarvat med koddesignen och uttryckt mig dåligt i kod.
Ja, kommentarer för att förklara/upprepa vad koden gör är inte det bästa.

Jag tycker snarare kommentarer ska användas för att förklara varför man valt att göra på ett visst sätt så inte nästa person behöver komma och tänka "varför fan har det här kukhuvudet gjort X och inte Y?". Det svåra i det fallet är väl att avgöra när det behövs och inte. Känner du inte till Y är det ju svårt.

I stora projekt kan det ibland även vara värt att förklara funktionaliteten på ett större plan än vad som är enkelt att se bara genom att kolla på koden.

Är det egna hemmaprojekt är det förmodligen ingenting man behöver bry sig om dock.

Sent from my FRD-L19 using Tapatalk
Köttis är uppkopplad nu   Svara med citat
Gammal 2020-06-04, 23:20   #2434
Boston
Registered User
 
Bostons avatar
 
Reg.datum: Mar 2006
Inlägg: 100
Det stämmer, Agitator! Engångsutgift för licensen sedan en löpande månads avgift för driften eller vad man kallar det. Jo det finns en manual och jag ska INTE kasta skit på programmet pga mina tillkortakommanden!

Man behöver kanske inte så avancerad kod för att beskriva lutning på medelvärden osv, att beskriva olika mönster i en graf utifrån olika tekniska indikatorer som grundar sig i enklare matematik behöver väl ingen rocket sience kanske.



Jag förstår PixelMiner, blir väl sjukt luddigt när jag bara klippt in en del av scriptet, variabelnamnet eller mer korrekt villkorsnamnet för funktionen make no sense nu.
Började villkor 1 för att sedan jobba upp mig till nr 14 där jag behövde två versioner av nr 14 för att det i slutändan skulle bli sant, var av A, B och C.

Men kritik och input uppskattas!

Som tur är säger programmet vilken rad som är tokig om syntaxen inte fungerar, hehe.
Boston är inte uppkopplad   Svara med citat
Gammal 2020-06-05, 00:17   #2435
Agitator
Den rättmätige
 
Agitators avatar
 
Reg.datum: Mar 2014
Inlägg: 1 792
Du kan ju alltid posta din kod här eller githublänka den och säga vad du försöker göra i det programmet och se om du får några förslag på förbättringar samt kanske någon annan som blir intresserad av programmet och även kan koda lite.
__________________
Citat:
Ursprungligen postat av King Grub Visa inlägg
Att träna utan steroider är som att vattna gräsmattan när det regnar. Slöseri med tid.
Citat:
Ursprungligen postat av King Grub Visa inlägg
Det är aldrig för tidigt för första kuren.
Citat:
Ursprungligen postat av King Grub Visa inlägg
Va, kreatin? Är det kreatin vi har pratat om?
Agitator är inte uppkopplad   Svara med citat
Gammal 2020-06-05, 08:40   #2436
PixelMiner
Lyfter tunga pixlar
 
PixelMiners avatar
 
Reg.datum: Oct 2008
Inlägg: 336
Citat:
Ursprungligen postat av Köttis Visa inlägg
Ja, kommentarer för att förklara/upprepa vad koden gör är inte det bästa.
Ja, hur ofta har man inte sett följande idioti:

Kod:
/**
 *  GetTransaction
 */
public Transaction getTransaction() { ... }


Citat:
Ursprungligen postat av Köttis Visa inlägg
Jag tycker snarare kommentarer ska användas för att förklara varför man valt att göra på ett visst sätt så inte nästa person behöver komma och tänka "varför fan har det här kukhuvudet gjort X och inte Y?". Det svåra i det fallet är väl att avgöra när det behövs och inte. Känner du inte till Y är det ju svårt.
Jo, håller med om att i vissa specifika fall kan man behöva berätta varför man gjort på ett speciellt sätt. Framför allt när ens kod ser ut ovanlig ut. För egen del är det framförallt när jag gjort hastighets-optimeringar som resulterar i extremt tät och svårläst kod, men där alternativet är att programmet går magnituder långsammare.

Citat:
Ursprungligen postat av Köttis Visa inlägg
I stora projekt kan det ibland även vara värt att förklara funktionaliteten på ett större plan än vad som är enkelt att se bara genom att kolla på koden.
Jo, men då skriver man ju ofta separata designdokument. Jag har själv aldrig varit med om något projekt där man lägger in detta direkt i koden.

Känns generellt som mycket kommentarer som skrevs förr var kopplade till att man saknade bra stödfunktioner som versionshantering, issue trackers osv...
PixelMiner är inte uppkopplad   Svara med citat
Gammal 2020-06-05, 08:43   #2437
Brofessorn
Registered User
 
Brofessorns avatar
 
Reg.datum: May 2015
Inlägg: 1 601
Citat:
Ursprungligen postat av PixelMiner Visa inlägg
Ja, hur ofta har man inte sett följande idioti:

Kod:
/**
 *  GetTransaction
 */
public Transaction getTransaction() { ... }
Hur hade du kommenterat en sådan enkel getter?
Brofessorn är inte uppkopplad   Svara med citat
Gammal 2020-06-05, 09:29   #2438
PixelMiner
Lyfter tunga pixlar
 
PixelMiners avatar
 
Reg.datum: Oct 2008
Inlägg: 336
Citat:
Ursprungligen postat av Brofessorn Visa inlägg
Hur hade du kommenterat en sådan enkel getter?
Är det tillåtet att gå över till "utvecklaren" som skrev kommentaren och utdela en rejäl örfil?

Nej? Synd...
PixelMiner är inte uppkopplad   Svara med citat
Gammal 2020-06-05, 10:08   #2439
Rickard
Registered User
 
Rickards avatar
 
Reg.datum: Feb 2009
Ort: Göteborg
Inlägg: 4 160
Citat:
Ursprungligen postat av PixelMiner Visa inlägg
Ja, hur ofta har man inte sett följande idioti:

Kod:
/**
 *  GetTransaction
 */
public Transaction getTransaction() { ... }




Jo, håller med om att i vissa specifika fall kan man behöva berätta varför man gjort på ett speciellt sätt. Framför allt när ens kod ser ut ovanlig ut. För egen del är det framförallt när jag gjort hastighets-optimeringar som resulterar i extremt tät och svårläst kod, men där alternativet är att programmet går magnituder långsammare.



Jo, men då skriver man ju ofta separata designdokument. Jag har själv aldrig varit med om något projekt där man lägger in detta direkt i koden.

Känns generellt som mycket kommentarer som skrevs förr var kopplade till att man saknade bra stödfunktioner som versionshantering, issue trackers osv...
Det finns en dimension av den där superkommentaren.
När man får höra att det finns dokumentation. Som senare visar sig vara just en sån kommentar och funktions deklarationen, utav alla funktioner i programmet.
Rickard är inte uppkopplad   Svara med citat
Gammal 2020-06-05, 11:37   #2440
Köttis
Registered User
 
Reg.datum: Oct 2009
Inlägg: 612
Citat:
Ursprungligen postat av PixelMiner Visa inlägg



Jo, men då skriver man ju ofta separata designdokument. Jag har själv aldrig varit med om något projekt där man lägger in detta direkt i koden.



Känns generellt som mycket kommentarer som skrevs förr var kopplade till att man saknade bra stödfunktioner som versionshantering, issue trackers osv...
Ja, så är det. Finns specialfall för allt i princip och man får försöka anpassa sig efter hur det ser ut i övrigt tycker jag så inte din kod är helt utan kommentarer för du tycker det är överflödigt medan resten är ganska välkommenterad. Eller tvärtom.

Sent from my FRD-L19 using Tapatalk

Senast redigerad av Köttis den 2020-06-05 klockan 11:39.
Köttis är uppkopplad nu   Svara med citat
Gammal 2020-06-05, 12:48   #2441
Brofessorn
Registered User
 
Brofessorns avatar
 
Reg.datum: May 2015
Inlägg: 1 601
Citat:
Ursprungligen postat av PixelMiner Visa inlägg
Är det tillåtet att gå över till "utvecklaren" som skrev kommentaren och utdela en rejäl örfil?

Nej? Synd...
Är det nyutexaminerade "utvecklare" månntro? När där jag läser fortfarande lärde ut Java var de stenhårda på att varenda metod skulle ha Javadoc, annars fick man underkänt direkt. Vilket ledde till ganska hjärndöda kommentarer på getters och setters. Kanske någon neurotisk newbie som försöker undvika en bassning.
Brofessorn är inte uppkopplad   Svara med citat
Gammal 2020-06-05, 13:01   #2442
shut teh face
Mother love bone
 
shut teh faces avatar
 
Reg.datum: Aug 2006
Inlägg: 1 709
Citat:
Ursprungligen postat av PixelMiner Visa inlägg
Är det tillåtet att gå över till "utvecklaren" som skrev kommentaren och utdela en rejäl örfil?

Nej? Synd...
Skulle rekommendera att man pratade med den berörda och gjorde sin åsikt hörd istället.
__________________
Citat:
Ursprungligen postat av lectris Visa inlägg
Är shut teh face knäpp som klagar över att en tjej skickar porr?
shut teh face är inte uppkopplad   Svara med citat
Gammal 2020-06-05, 13:06   #2443
PixelMiner
Lyfter tunga pixlar
 
PixelMiners avatar
 
Reg.datum: Oct 2008
Inlägg: 336
Citat:
Ursprungligen postat av Brofessorn Visa inlägg
Är det nyutexaminerade "utvecklare" månntro? När där jag läser fortfarande lärde ut Java var de stenhårda på att varenda metod skulle ha Javadoc, annars fick man underkänt direkt. Vilket ledde till ganska hjärndöda kommentarer på getters och setters. Kanske någon neurotisk newbie som försöker undvika en bassning.
Jo, Javadoc har påtvingats många högskolestudenter, så även för mig. Finns givetvis projekt som har bra javadoc, doxygen, ReadTheDocs, eller motsvarande. Men för varje bra projekt så finns det säkert 10 ggr fler dåliga, där beskrivningarna är meningslösa eller än värre fel. Skriver man dessutom bara sådana skitkommentarer som ovan, så går det ju ofta lika bra att strunta i dem. Då många av ovanstående generatorer kan skapa funktionsbeskrivningar automatiskt.

Ju längre jag jobbar desto mer inser jag att de som lär ut programmering på högskolor och universitet har väldigt lite koll på vad som sker i verkligheten. Många av dem har aldrig skrivit kod i ett större system, utan bara konstruerat lite mindre utilities och kodexempel som kanske har några tusen rader kod.

I en del språk så pratar i industrin om "akademisk-stil" för kod som innehåller en massa språktekniska finesser, men som för det första gör koden svårläsbar och för det andra många gånger leder till kod som exekverar mycket långsammare.
PixelMiner är inte uppkopplad   Svara med citat
Gammal 2020-06-05, 13:14   #2444
PixelMiner
Lyfter tunga pixlar
 
PixelMiners avatar
 
Reg.datum: Oct 2008
Inlägg: 336
Citat:
Ursprungligen postat av shut teh face Visa inlägg
Skulle rekommendera att man pratade med den berörda och gjorde sin åsikt hörd istället.
Självklart! Om ironin inte gick fram, så klargör jag härmed att jag inte örfilar mina kollegor.

PixelMiner är inte uppkopplad   Svara med citat
Gammal 2020-06-05, 13:48   #2445
Brofessorn
Registered User
 
Brofessorns avatar
 
Reg.datum: May 2015
Inlägg: 1 601
Brofessorn är inte uppkopplad   Svara med citat


Svara


Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +1. Klockan är nu 14:51.


Powered by vBulletin® Version 3.8.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson
Copyright 2015, Kolozzeum (TM)