From: Kevin P. Fleming Date: Sun, 10 Jul 2005 23:58:07 +0000 (+0000) Subject: more thoughts X-Git-Tag: 1.2.0-beta1~322 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=5bf8872b42aa56cd28754cca335b67b764ddfc16;p=thirdparty%2Fasterisk.git more thoughts git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6078 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- diff --git a/doc/CODING-GUIDELINES b/doc/CODING-GUIDELINES index 29b3703783..7b27f53756 100755 --- a/doc/CODING-GUIDELINES +++ b/doc/CODING-GUIDELINES @@ -218,6 +218,16 @@ API call somewhere. If you are duplicating functionality found in another static function, consider the value of creating a new API call which can be shared. +As a common example of this point, make an effort to use the lockable +linked-list macros found in include/asterisk/linkedlists.h. They are +efficient, easy to use and provide every operation that should be +necessary for managing a singly-linked list (if something is missing, +let us know!). Just because you see other open-coded list implementations +in the source tree is no reason to continue making new copies of +that code... There are also a number of common string manipulation +and timeval manipulation functions in asterisk/strings.h and asterisk/time.h; +use them when possible. + When you achieve your desired functionalty, make another few refactor passes over the code to optimize it.