Lou Montana/Sandbox – User

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Small update - WIP)
m (Future Template:Header/Tutorial template)
(42 intermediate revisions by 3 users not shown)
Line 1: Line 1:
[[Category: Sandbox]]
[[Category: Sandbox]]
{{Informative | Future [[Code Best Practices]] page}}
<noinclude>
----
-----
[[:Category: Scripting Topics]]
Future [[Template:Header/Tutorial|Header/Tutorial]] template
== Best practices ==
</noinclude><includeonly>{{Feature|informative
 
|
=== Make it readable ===
* {{#if:{{{target|}}}
 
| Target: {{#switch:{{{target}}}
{{Informative | See [[Code Optimisation#Make it readable|Make it readable]] for the short version!}}
  |0= newcomer
 
  |1= beginner
** Var names
  |2= moderate
** Format, indentation, no one-line, spacing, line returns
  |3= advanced
** Be consistent (space/tab indentation, (camel)casing, [https://en.wikipedia.org/wiki/Indentation_style#K&R_style K&R style] / [https://en.wikipedia.org/wiki/Indentation_style#Allman_style Allman style] indenting)
  |4= expert
 
  |#default= -wrong target defined-
=== Make reusable functions ===
}}
 
| -no target defined-}}
* Don't duplicate, make functions
* {{#if:{{{difficulty|}}}
 
| Difficulty: {{#switch:{{{difficulty}}}
=== Variables ===
  |0= easy {{Colorball|green}}
 
  |1= normal {{Colorball|orange}}
* Prefix your public variables with your tag
  |2= hard {{Colorball|red}}
* PRIVATE (or params) your variables
  |#default= -wrong difficulty defined-
 
}}
=== Code location ===
| -no difficulty defined-}}
 
{{#if:{{{prerequisites|}}}
* '''Nothing''' in init box ''but'' [[local]] commands for this specific unit - '''all''' the init boxes are run client-side on client connection
|
* {{Inline code|'''0 {{=}}''' ''myCommand''}} is "useful" only for editor fields that for no apparent reason refuse commands returning a value.
* Prerequisites:<br>
 
{{{prerequisites}}}
 
}}
== Final words ==
}}</includeonly><noinclude>{{Doc/Template
 
|descr= Tutorial header.
* Don't steal code and pretend it's yours — be a decent human being.
|param1= target
* Don't try to obfuscate your code: it's considered rude, especially since you learnt from others.
|descr1= number in range 0..4: newcomer - beginner - moderate - advanced - expert
* Have fun!
|param2= difficulty
|descr2= number in range 0..2: easy - normal - hard
|param3= prerequisites
|descr3= (Optional) free text for prerequisite tutorials/knowledge. make a (sub-)list with <nowiki>**</nowiki> and new lines
|example1= <nowiki>{{Header/Tutorial}}</nowiki>
|result1= {{User:Lou_Montana/Sandbox}}
|example2= <nowiki>{{Header/Tutorial|target=0}}</nowiki>
|result2= {{User:Lou_Montana/Sandbox|target=0}}
|example3= <nowiki>{{Header/Tutorial|target=0|difficulty=0}}</nowiki>
|result3= {{User:Lou_Montana/Sandbox|target=0|difficulty=0}}
|example4= <nowiki>{{Header/Tutorial|target=0|difficulty=1|prerequisites=a prerequisite}}</nowiki>
|result4= {{User:Lou_Montana/Sandbox|target=0|difficulty=1|prerequisites=a prerequisite}}
|example5= <span style="white-space: pre"><nowiki>{{Header/Tutorial|target=0|difficulty=2|prerequisites=** prerequisite 1
** prerequisite 2}}</nowiki></span>
|result5= {{User:Lou_Montana/Sandbox|target=0|difficulty=2|prerequisites=** prerequisite 1
** prerequisite 2}}
}}</noinclude>

Revision as of 16:05, 16 April 2021



Future Header/Tutorial template Tutorial header.

This template is used on these pages.

Usage

{{Lou Montana/Sandbox|target|difficulty|prerequisites}}

  • target: number in range 0..4: newcomer - beginner - moderate - advanced - expert
  • difficulty: number in range 0..2: easy - normal - hard
  • prerequisites: (Optional) free text for prerequisite tutorials/knowledge. make a (sub-)list with ** and new lines
Examples
Code Result
{{Header/Tutorial}}
  • -no target defined-
  • -no difficulty defined-
{{Header/Tutorial|target=0}}
  • Target: newcomer
  • -no difficulty defined-
{{Header/Tutorial|target=0|difficulty=0}}
  • Target: newcomer
  • Difficulty: easy
{{Header/Tutorial|target=0|difficulty=1|prerequisites=a prerequisite}}
  • Target: newcomer
  • Difficulty: normal
  • Prerequisites:
a prerequisite
{{Header/Tutorial|target=0|difficulty=2|prerequisites=** prerequisite 1 ** prerequisite 2}}
  • Target: newcomer
  • Difficulty: hard
  • Prerequisites:
    • prerequisite 1
    • prerequisite 2