Angepinnt Einrückung (Indentation)

  • Einrückung (Indentation)

    Ihr solltet der Übersichtlichkeit halber und auch damit andere es besser lesen könneneuren Code einrücken.
    D.h. bei jedem Teil, der innerhalb eines if, for, while, do, function oder sonstigen Bereiches, der auf end endet eine Tabulator-Einrückung mehr machen.

    Aus

    LUA-Quellcode

    1. function onPlayerJoin()
    2. if getPlayerName(source) == "Kye" then
    3. banPlayer(source, true, true, true, nil, "kyetard")
    4. end
    5. end
    6. addEventHandler("onPlayerJoin", root, onPlayerJoin)

    wird dann

    LUA-Quellcode

    1. function onPlayerJoin()
    2. if getPlayerName(source) == "Kye" then
    3. banPlayer(source, true, true, true, nil, "kyetard")
    4. end
    5. end
    6. addEventHandler("onPlayerJoin", root, onPlayerJoin)


    Wenn das Forum die Tabs nicht mag, dann ersetzt einfach jeden Tab durch vier Leerzeichen. Diese Breite solltet ihr auch in eurem Editor verwenden, da 8 zu viel ist.

    Ich kann nur sagen, dass wenn hier jemand Hilfe bei einem Code will und den so schlampig uneingerückt postet, dass ich dann keine Hilfe leiste, weil mir das zu viel Arbeit ist, den Code dann erstmal einzurücken, um ihn gescheit lesen zu können.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von sbx320 () aus folgendem Grund: [lua]-Tags

    Beitrag von Freedome97 ()

    Dieser Beitrag wurde von sbx320 aus folgendem Grund gelöscht: wtf? ().
  • Ich kann jedem diese Seite hier empfehlen:
    blackmiaool.com/lua-beautify/

    Hier könnt ihr ganz einfach eurem Code Einrückungen verpassen.

    Als Beispiel habe ich mal einem meiner Codes die Einrückungen weggenommen.

    LUA-Quellcode: Davor

    1. addCommandHandler ( "rsp", function ( player )
    2. local lobby = tdsGetElementData ( player, "lobby" )
    3. if lobby and lobby ~= "mainmenue" and lobby ~= "gangwar" then
    4. local allowedtojoin = ( not playerwasalreadyinround[lobby] or not playerwasalreadyinround[lobby][player] ) and ( gamestatus[lobby] == "countdown" or gamestatus[lobby] == "started" and roundstarted[lobby] + 15000 >= getTickCount() )
    5. if getPedArmor ( player ) == lobbysettings[lobby]["startarmor"] or allowedtojoin then
    6. local team = getPlayerTeam ( player )
    7. local teamname = team and getTeamName ( team ) or "Zuschauer"
    8. if teamname ~= "Zuschauer" and string.sub ( teamname, 1, 1 ) ~= "2" then
    9. local teamnum = teamnumber[teamname]
    10. if allowedtojoin then
    11. putPlayerInRoundFromOtherFile ( player )
    12. else
    13. if spawnpoints[lobby][teamnum] and spawnpoints[lobby][teamnum][1] then
    14. local prevweapons = {}
    15. local prevweaponscounter = 0
    16. if weaponmode[lobby] == "normal" then
    17. for i=1, 12 do
    18. local weaponID = getPedWeapon ( player, i )
    19. if weaponID and weaponID > 0 then
    20. local ammo = getPedTotalAmmo ( player, i )
    21. if ammo > 0 then
    22. prevweaponscounter = prevweaponscounter + 1
    23. prevweapons[prevweaponscounter] = { weaponID, ammo }
    24. end
    25. end
    26. end
    27. end
    28. local health = getElementHealth ( player )
    29. local armor = getPedArmor ( player )
    30. spawnPlayer ( player, spawnpoints[lobby][teamnum][1]["x"], spawnpoints[lobby][teamnum][1]["y"], spawnpoints[lobby][teamnum][1]["z"], spawnpoints[lobby][teamnum][1]["rot"], lobbysettings[lobby]["skinid"..teamnum] or lobbysettings[lobby]["skinid"] or allskins[math.random ( allskinsamount )], spawnpoints[lobby][teamnum][1]["int"], lobbydimensions[lobby], team )
    31. setElementHealth ( player, health )
    32. setPedArmor ( player, armor )
    33. playerwasalreadyinround[lobby][player] = true
    34. aliveplayers[lobby][player] = true
    35. setElementRotation ( player, 0, 0, spawnpoints[lobby][teamnum][1]["rot"], "default", true )
    36. if prevweaponscounter > 0 then
    37. for i=1, prevweaponscounter do
    38. giveWeapon ( player, prevweapons[i][1], prevweapons[i][2] )
    39. end
    40. end
    41. fadeCamera ( player, true )
    42. setCameraTarget ( player )
    43. end
    44. end
    45. end
    46. end
    47. end
    48. end )
    Alles anzeigen

    Wenn ich mir nun diesen Code angucke, fällt es mir sehr schwer etwas rauszulesen.
    Wenn ich die Blöcke herausfinden wollen würde, müsste ich min. 10 Minuten lang da alles anstarren und nachdenken.

    Nun nach der Nutzung der Seite:

    LUA-Quellcode

    1. addCommandHandler ( "rsp", function ( player )
    2. local lobby = tdsGetElementData ( player, "lobby" )
    3. if lobby and lobby ~= "mainmenue" and lobby ~= "gangwar" then
    4. local allowedtojoin = ( not playerwasalreadyinround[lobby] or not playerwasalreadyinround[lobby][player] ) and ( gamestatus[lobby] == "countdown" or gamestatus[lobby] == "started" and roundstarted[lobby] + 15000 >= getTickCount() )
    5. if getPedArmor ( player ) == lobbysettings[lobby]["startarmor"] or allowedtojoin then
    6. local team = getPlayerTeam ( player )
    7. local teamname = team and getTeamName ( team ) or "Zuschauer"
    8. if teamname ~= "Zuschauer" and string.sub ( teamname, 1, 1 ) ~= "2" then
    9. local teamnum = teamnumber[teamname]
    10. if allowedtojoin then
    11. putPlayerInRoundFromOtherFile ( player )
    12. else
    13. if spawnpoints[lobby][teamnum] and spawnpoints[lobby][teamnum][1] then
    14. local prevweapons = {}
    15. local prevweaponscounter = 0
    16. if weaponmode[lobby] == "normal" then
    17. for i=1, 12 do
    18. local weaponID = getPedWeapon ( player, i )
    19. if weaponID and weaponID > 0 then
    20. local ammo = getPedTotalAmmo ( player, i )
    21. if ammo > 0 then
    22. prevweaponscounter = prevweaponscounter + 1
    23. prevweapons[prevweaponscounter] = { weaponID, ammo }
    24. end
    25. end
    26. end
    27. end
    28. local health = getElementHealth ( player )
    29. local armor = getPedArmor ( player )
    30. spawnPlayer ( player, spawnpoints[lobby][teamnum][1]["x"], spawnpoints[lobby][teamnum][1]["y"], spawnpoints[lobby][teamnum][1]["z"], spawnpoints[lobby][teamnum][1]["rot"], lobbysettings[lobby]["skinid"..teamnum] or lobbysettings[lobby]["skinid"] or allskins[math.random ( allskinsamount )], spawnpoints[lobby][teamnum][1]["int"], lobbydimensions[lobby], team )
    31. setElementHealth ( player, health )
    32. setPedArmor ( player, armor )
    33. playerwasalreadyinround[lobby][player] = true
    34. aliveplayers[lobby][player] = true
    35. setElementRotation ( player, 0, 0, spawnpoints[lobby][teamnum][1]["rot"], "default", true )
    36. if prevweaponscounter > 0 then
    37. for i=1, prevweaponscounter do
    38. giveWeapon ( player, prevweapons[i][1], prevweapons[i][2] )
    39. end
    40. end
    41. fadeCamera ( player, true )
    42. setCameraTarget ( player )
    43. end
    44. end
    45. end
    46. end
    47. end
    48. end )
    Alles anzeigen
    Nun ist es einfach für mich den Code zu lesen.
    Ich erkenne die Blocks sofort, was z.B. in der for-Schleife passiert.


    Es gibt bestimmt auch andere Methoden dafür, aber diese Seite ist die schnellste mir bekannte Methode dafür.
    Wer also keine Ahnung von Einrückungen hat, sollte vor dem Posten seines Codes mindestens diese Seite einmal benutzen und das Ergebnis dann posten.
    Mit MTA aufgehört