Junio C Hamano <gitster@xxxxxxxxx> writes: > l.stelmach@xxxxxxxxxxx (Łukasz Stelmach) writes: > >> OK, I see. Good point. Where would you recommend me to put these modules >> and how to name them? I mean I don't want to make to much mess here (; > > I would not recommend you to do any of the above now. As I said, the > open-coded if/elsif cascade version you posted is fine as a starting > point. I'd prefer to see it made work correctly as advertised first > with documentation updates and tests. > > A Perl guru might want to come and refactor the result once the code > solidifies, but that should be left as a separate series. An alternative structure of the patch, if you are feeling brave, could go like this: (1) With a thought process similar to what I illustrated in my message you responded with "OK, I see. Good point.", identify all the codepaths that will need to become methods that are specific to the transport (SMTP or NNTP). (2) Without adding any NNTP goodies, refactor the current code to use a single class for driving conversation with a SMTP server. You will implement all the methods you identified in the previous step and the result will become "[PATCH 1/2] send-email: refactor to use a transport-specific class". (3) Implement a new class to drive conversation with an NNTP server, that has the same set of methods as the SMTP one you wrote in the previous step. The result will become "[PATCH 2/2] send-email: introduce NNTP transport". This would need updates to the documentation. I do not necessarily suggest you to go this route, by the way. It is up to you and depends on how proficient you are (and how comfortable you feel) dealing with modular Perl programs. -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html