Seite 2 von 3 ErsteErste 123 LetzteLetzte
Ergebnis 11 bis 20 von 22

Thema: Coding-Stil und dessen Bedeutung

  1. #11
    Avatar von aVoN
    Registriert seit
    23.04.2006
    Ort
    Hannover

    Standard AW: Coding-Stil und dessen Bedeutung

    Zitat Zitat von makkurona Beitrag anzeigen
    Bevor ich mir von jemandem vorschreiben lasse, wie ich meinen Stil zu gestalten habe, höre ich lieber auf.
    Dies sind nur Empfehlungen.

    Ich habe schon allzu saumößigen code gesehen.
    Man hat förmlich erkannt, dass code-schnippsel aus anderen Projekten einfach per copy&paste kopiert wurde, ohne ihn mal an das layout anzupassen.

    Mal ehrlich, findest du

    Lua Code:
    1. AddCSLuaFile("Client/ClientVehicleScript.lua")
    2. vu_enablehorn = CreateConVar( "vu_enablehorn", "1", { FCVAR_PROTECTED } )  
    3. local function SpawnedVehicle(player, vehicle)
    4. local localpos = vehicle:GetPos() local localang = vehicle:GetAngles()
    5. 			----Add passenger seats
    6. if vehicle.VehicleTable then
    7. 	if vehicle.VehicleTable.Passengers then		
    8. 			-----Grab the data for the extra seats, we do want the lovely sitting anim dont we.
    9. 			local SeatName = vehicle.VehicleTable.SeatType
    10.  
    11. 			local seatdata = list.Get( "Vehicles" )[ SeatName ]
    12.  
    13. 			-----Repeat for each seat.
    14. 		for a,b in pairs(vehicle.VehicleTable.Passengers) do
    15. 			local SeatPos = localpos + ( localang:Forward() * b.Pos.x) + ( localang:Right() * b.Pos.y) + ( localang:Up() * b.Pos.z)
    16. 			local Seat = ents.Create( "prop_vehicle_prisoner_pod" )
    17. 			Seat:SetModel( seatdata.Model )
    18. 			Seat:SetKeyValue( "vehiclescript" , "scripts/vehicles/prisoner_pod.txt" )
    19. 			Seat:SetAngles( localang + b.Ang )
    20. 			Seat:SetPos( SeatPos )
    21. 				Seat:Spawn()
    22. 				Seat:Activate()
    23. 				Seat:SetParent(vehicle)
    24. 				if vehicle.VehicleTable.HideSeats then
    25. 					Seat:SetColor(255,255,255,0)
    26. 				end
    27. 				if ( seatdata.Members ) then
    28. 				table.Merge( Seat, seatdata.Members )
    29. 				end
    30. 				if ( seatdata.KeyValues ) then
    31. 					for k, v in pairs( seatdata.KeyValues ) do
    32. 					Seat:SetKeyValue( k, v )
    33. 					end		
    34. 				end
    35. 			Seat.VehicleName = "Jeep Seat"
    36. 			Seat.VehicleTable = seatdata
    37. 			Seat.ClassOverride = "prop_vehicle_prisoner_pod"
    38. 			Seat:DeleteOnRemove( vehicle )
    39. 			----------- Replace the position with the ent so we can find it later.
    40. 			vehicle.VehicleTable.Passengers[a].Ent = Seat
    41. 		end
    42. 	end
    43. 	if vehicle.VehicleTable.HeadLights then
    44. 		vehicle.HeadLights = {}
    45. 		local lights = vehicle.VehicleTable.HeadLights
    46. 		local angles = vehicle:GetAngles()
    47. 		for a,b in pairs(lights) do
    48. 		local pos = vehicle:GetPos() + ( angles:Forward() * b.Pos.x ) + ( angles:Right() * b.Pos.y ) + ( angles:Up() * b.Pos.z )
    49. 				vehicle.HeadLights[a] = ents.Create( "vu_headlight" )
    50. 				vehicle.HeadLights[a]:SetPos(pos)
    51. 				vehicle.HeadLights[a]:SetAngles( angles + b.Ang )
    52. 				vehicle.HeadLights[a]:SetParent(vehicle)
    53. 				vehicle.HeadLights[a]:Spawn()
    54. 				vehicle.HeadLights[a]:DeleteOnRemove( vehicle )
    55. 		end
    56. 	end
    57. end
    58. end
    schön? Da hat "Dark Nova Clan" richtig geschlampt (kommt aus VU-Mod). Einzüge, wo keine reingehören sowie fehlende. Ineffiziente coding-weise (Mehrfach-aufruf von funktionen anstatt nur einmal und den wert in einer lokalen variable speichern).


    Dazu gibt es noch schlimmeren code, welcher leerzeichen anstatt tabs benutzt bzw beiders durcheinander.

    Und was ich am schlimmsten finde, sind leerzeichen zwischen funktionen-argumenten bzw. dessen inkonsistente verwendung.

    Wie vom code oben:
    Lua Code:
    1. vehicle.HeadLights[a]:SetAngles( angles + b.Ang )
    2. vehicle.HeadLights[a]:SetParent(vehicle)
    Wieso wird bei der ersten funktion am anfang und ende ein leerzeichen eingefügt, nicht aber bei der nächsten? Macht die sache "unschön".



    Ok, es sind hobby programmierer. Aber selbst als hobby-programmier sollte man erstmal vernünftig coden lernen bevor man etwas anfängt. Sonst wird das Programm extrem unleserlich oder schlechter zu debuggen (was der Hauptgrund ist, wieso man leserlich coden sollte!) und kann im schlimmsten Fall einfach den Rechner einfrieren.


    Jeder, der dies nicht erkennt codet grob fahrlässig und sollte lieber die Finger davon lassen.

  2. Folgende 6 Benutzer sagen Danke zu aVoN für den nützlichen Beitrag:


  3. #12

    Standard AW: Coding-Stil und dessen Bedeutung

    @BennyG
    Ich notiere meine sachen auch nicht.

    Was ich wichtig finde das man zumindest in einem skript alles einheitlich macht, nicht so wie bei aVoN's letztem Beispiel was eindeutig nach copy'n'paste aussieht.

    Mfg,
    RP-01

  4. #13

    Standard AW: Coding-Stil und dessen Bedeutung

    Ich habe mich mal dazu entschieden das ganze anzupinnen,
    da es doch schon eine wichtige Rolle beim Scripten spielt
    Geändert von Pac_187 (16.02.2009 um 22:39 Uhr)

  5. #14

    Standard AW: Coding-Stil und dessen Bedeutung

    *niederknie*
    Vielen Dank, Pac!

    MfG kartoffel

  6. #15

    Standard AW: Coding-Stil und dessen Bedeutung

    Hat mir echt geholfen jetzte sieht mein Code schonmal übersichtlicher
    aus *gg*

  7. #16

    Standard AW: Coding-Stil und dessen Bedeutung

    Das freut mich sehr.

    MfG kartoffel

  8. #17

    Standard AW: Coding-Stil und dessen Bedeutung

    Um längere Funktion auszuklammern, sodass es auch im Notepad übersichtlicher ist:

    Lua Code:
    1. --[[ Line 1
    2.      Line 2
    3.      Line 3
    4.      Line 4
    5.      Line 5
    6.      Line 6
    7.      Line 7
    8.      Line 8]]
    9.      Line 9
    10.      Line 10

  9. #18

    Standard AW: Coding-Stil und dessen Bedeutung

    Da finde ich

    Lua Code:
    1. /*
    2.  
    3.  
    4. WREEE
    5. LINES OF TEXT
    6.  
    7.  
    8. */

    wesentlich besser...

  10. Folgende 2 Benutzer sagen Danke zu Pac_187 für den nützlichen Beitrag:


  11. #19

    Standard AW: Coding-Stil und dessen Bedeutung

    Ich habs nur geschrieben, da diese Methode vom Notpad auch grün makiert wird.
    Die andere hier wird (bei mir zumindest) im Notepad nicht grün makiert.

  12. #20

    Standard AW: Coding-Stil und dessen Bedeutung

    Zitat Zitat von RP-01 Beitrag anzeigen
    Ich habs nur geschrieben, da diese Methode vom Notpad auch grün makiert wird.
    Die andere hier wird (bei mir zumindest) im Notepad nicht grün makiert.
    Deswegen benutz ich das auch öfter wenn ich mal alternative Funktionen testen will ^.^

    awesome thing is made by Araxiel-Sama

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •