summaryrefslogtreecommitdiff
path: root/Documentation/CodingGuidelines
diff options
context:
space:
mode:
authorJeff King <peff@peff.net>2018-02-08 21:38:06 (GMT)
committerJunio C Hamano <gitster@pobox.com>2018-02-08 22:20:43 (GMT)
commit89a9f2c862db52d99e4dd78e799f4b36dac597ac (patch)
treeede885d3eaea0bbd1e88e10795c54789f5761de1 /Documentation/CodingGuidelines
parent5be1f00a9a701532232f57958efab4be8c959a29 (diff)
downloadgit-89a9f2c862db52d99e4dd78e799f4b36dac597ac.zip
git-89a9f2c862db52d99e4dd78e799f4b36dac597ac.tar.gz
git-89a9f2c862db52d99e4dd78e799f4b36dac597ac.tar.bz2
CodingGuidelines: mention "static" and "extern"
It perhaps goes without saying that file-local stuff should be marked static, but it does not hurt to remind people. Less obvious is that we are settling on "do not include extern in function declarations". It is already the default unless the function was previously declared static (but if you are following a static declaration with an unmarked one, you should think about why you are declaring the thing twice). And so it just becomes an extra noise-word in our header files. We used to give the opposite advice, so there are quite a few "extern" markers in early Git code. But this at least makes a concrete suggestion that we can follow going forward. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'Documentation/CodingGuidelines')
-rw-r--r--Documentation/CodingGuidelines5
1 files changed, 5 insertions, 0 deletions
diff --git a/Documentation/CodingGuidelines b/Documentation/CodingGuidelines
index c4cb5ff..48aa4ed 100644
--- a/Documentation/CodingGuidelines
+++ b/Documentation/CodingGuidelines
@@ -386,6 +386,11 @@ For C programs:
- Use Git's gettext wrappers to make the user interface
translatable. See "Marking strings for translation" in po/README.
+ - Variables and functions local to a given source file should be marked
+ with "static". Variables that are visible to other source files
+ must be declared with "extern" in header files. However, function
+ declarations should not use "extern", as that is already the default.
+
For Perl programs:
- Most of the C guidelines above apply.