Talk:Discordian date: Difference between revisions

Content added Content deleted
(→‎Leap Years: Do it the easy way!)
(+ D entry section)
Line 20: Line 20:


: Match the Gregorian year definition, as trying to deal with other kinds of calendar turns the task into a ridiculously awkward one. –[[User:Dkf|Donal Fellows]] 09:30, 21 January 2011 (UTC)
: Match the Gregorian year definition, as trying to deal with other kinds of calendar turns the task into a ridiculously awkward one. –[[User:Dkf|Donal Fellows]] 09:30, 21 January 2011 (UTC)

== D Entry ==

Some rationale for the changes in the D entry:

- For browser screens with a not high resolution it's better to keep lines of code short. For Rosettacode code I use about 72-73 chars max for line.

- To keep code readable it's usually better to keep the then/else clauses on their own lines.

- Variables should be immutable (or const, where immutable is not possible) unless they have to mutate or unless some compiler bug (or the design of ranges) makes immutable/const unusable.

- The scope of variables should be minimized. So arrays like 'seasons' can go in the function scope and avoid polluting the module namespace.

- Some variable names like dYear now have an upper case in the middle to underline their inner words. It's normal D style.

- Currently the format() function is not pure nor nothrow, but maybe in future it will become pure. So I keep some commented out code like /*pure*/ that are meant to be replaced by code in future if and when Phobos improves (I replace such comments all the time in Rosettacode entries because Phobos keeps improving).