Subject: Developers of Sympa
List archive
- From: David Verdin <address@concealed>
- To: address@concealed
- Subject: Re: [sympa-developpers] Plans for Sympa
- Date: Fri, 08 Mar 2013 11:18:37 +0100
Hi, smee again, Le 07/03/13 17:02, Guillaume Rousse a
écrit :
address@concealed">Le 05/03/2013 17:34, David Verdin a écrit :Exactly the questions I want to answer. I am perfectly happy with how you deal now with the deintrication of our code. I fully agree with you: the most important thing is to increase code clarity and maintainability. More below. address@concealed">I for instance once imaginated to add Kerberos-authentication support to the web interface, but I quickly realized I had first to redesign the whole Auth module, just because I was unable to understand its interface. Consequently, I was unable to assert which code parts I was free to change, and which were used externaly. And it was only a specific subsystem, not the whole core...The plugin thingy is more of a long-term plan. Actually, all this discussion arose because Mark (not Marc Chantreux, Mark Overmeer) had to dig in our code to develop a new functionnality and made then a lot of suggestions. What we did not understand at first was that he wanted us to accept these suggetions as new paradigms in Sympa to eases his developements; We had to explain him that we were not there yet. We explained about all the work we did recently to improve the code design. And also that, as we are now five people involved in Sympa, I want developpers to express about our code design preferences and not accept the first suggestion as a new paradigm and then enforce it. Hence my mail. I think that we could probably find coding rules (enforce object orientation, for example) but certainly not now. Probably for the next version. I thought that, over the cours of next year we could work on code architecture until summer is over, and then work on new features using this new architecture. We could keep going this way for each version: first, we improve code design, then we use this code design to develop new features. Half / half, roughly. But for this, we need to know where we want to go. address@concealed"> address@concealed">Yes, That's the kind of issues we need to address right now. address@concealed">That's the answer I gave him: "Your ideas are interesting, but now is not the time to apply them; We don't even know whether they are the good choice." address@concealed">2) finish to write current consensus (I'm volonteer for it)As far as I see, for now, we compromised on the followings: Documentation: =head1 CATEGORY with section being either FUNCTIONS, CLASS METHODS or INSTANCE METHODS =head2 prototype with prototype being: - foo($var1, $var2, ...) for a function - Class->foo($var1, $var2, ...) for a class method - $object->foo($var1, $var2, ...) for an instance method Description. A plain english sentence. =head3 Parameters =over =item * I<$var1>: purpose, nature =back =head3 Return value A plain english sentence. Code:
---------- >8 ---------------- >8 ---------------- >8 ---------- -bar # Opening brace always on right (* no) -bbt=1 # Medium block brace tightness -bt=2 # Medium brace tightness (* 1) -ce # Cuddled else (* no) -ci=4 # Continuation indent is 4 cols -cti=0 # No extra indentation for closing brackets -et=8 # Entab leading 8 whitespace (* none) -i=4 # Indent level is 4 cols -l=78 # Max line witdh is 78 cols -nolq # Don't outdent long quoted strings -nsbl # No opening sub brace on new line (* -sbl) -nsfs # No space before semicolons -pt=2 # Medium parenthesis tightness (* 1) -sbt=2 # Medium square bracket tightness (* 1) -se # Errors to STDERR #-st # Output to STDOUT -vt=2 # Maximal vertical tightness -wba="% + - * / x != == >= <= =~ !~ < > | & >= < = **= += *= &= <<= &&= -= /= |= >>= ||= .= %= ^= x= || && . ? : and or xor" # Break after all operators (* not contains "||" and tokens appear after it) ---------- 8< ---------------- 8< ---------------- 8< ----------This lead to a mix of tabs and spaces which also a bad mixture on my opinion. I also disagree with the max line width of 78 columns. Most modern editors - even vi - are able to ad new lines if a line is too long. What is the rationale behind the 78 columns limit? All the rest is fine to me. Once we're OK with the pertlidy formatting, we can had an automatic perltidy execution somewhere (as a post-commit hook, for example). anf inally, generally speaking, we want to have clear modules with distinct usages, that can be independently tested and used, by I don't see any way to formally phrase it. address@concealed">3) finish to enforce it everywhereWith an iron fist if necessary. address@concealed">4) enlarge this consensus progressively, once easy issues such as syntax have been dealt with. For instance, we had a discussion about error management some times ago, without much result AFAIR.Indeed. To sum up my tohoughts: I don't want Sympa to die, but I want errors to be cascaded from the point where the error occurs to the point where tha calls started. address@concealed">And don't forget: once the table is set, let's all have a good beer together! June in Montpelleir would probably be the good time and place for this... address@concealed">I ordered it... Thanks for your input, Guillaume. Best regards, David address@concealed"> |
Attachment:
smime.p7s
Description: Signature cryptographique S/MIME
-
[sympa-developpers] Plans for Sympa,
David Verdin, 03/05/2013
-
Re: [sympa-developpers] Plans for Sympa,
Guillaume Rousse, 03/07/2013
- Re: [sympa-developpers] Plans for Sympa, David Verdin, 03/08/2013
- Re: [sympa-developpers] Plans for Sympa, Marc Chantreux, 03/09/2013
-
Re: [sympa-developpers] Plans for Sympa,
Guillaume Rousse, 03/07/2013
-
Re: [sympa-developpers] Plans for Sympa,
David Verdin, 03/08/2013
-
Re: [sympa-developpers] Plans for Sympa,
IKEDA Soji, 03/08/2013
-
Re: [sympa-developpers] Plans for Sympa,
Guillaume Rousse, 03/11/2013
-
Re: [sympa-developpers] Plans for Sympa,
IKEDA Soji, 03/13/2013
-
Re: [sympa-developpers] Plans for Sympa,
Guillaume Rousse, 03/18/2013
- Re: [sympa-developpers] Plans for Sympa, Marc Chantreux, 03/18/2013
- Re: [sympa-developpers] Plans for Sympa, Guillaume Rousse, 03/20/2013
- Re: [sympa-developpers] Plans for Sympa, IKEDA Soji, 03/18/2013
- Re: [sympa-developpers] Plans for Sympa, Guillaume Rousse, 03/18/2013
-
Re: [sympa-developpers] Plans for Sympa,
Guillaume Rousse, 03/18/2013
-
Re: [sympa-developpers] Plans for Sympa,
IKEDA Soji, 03/13/2013
- [sympa-developpers] Pod formatting (was Re: Plans for Sympa), Guillaume Rousse, 03/20/2013
-
Re: [sympa-developpers] Plans for Sympa,
Guillaume Rousse, 03/11/2013
-
Re: [sympa-developpers] Plans for Sympa,
IKEDA Soji, 03/08/2013
-
Re: [sympa-developpers] Plans for Sympa,
David Verdin, 03/08/2013
-
Re: [sympa-developpers] Plans for Sympa,
Guillaume Rousse, 03/07/2013
- Re: [sympa-developpers] Plans for Sympa, Marc Chantreux, 03/12/2013
Archive powered by MHonArc 2.6.19+.