/usr/share/help/el/programming-guidelines/writing-good-code.page is in gnome-devel-docs 3.28.0-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 | <?xml version="1.0" encoding="utf-8"?>
<page xmlns="http://projectmallard.org/1.0/" xmlns:its="http://www.w3.org/2005/11/its" type="topic" id="writing-good-code" xml:lang="el">
<info>
<link type="guide" xref="index#general-guidelines"/>
<credit type="author copyright">
<name>Federico Mena-Quintero</name>
<email its:translate="no">federico@gnome.org</email>
<years>2013</years>
</credit>
<credit type="author copyright">
<name>Miguel de Icaza</name>
<email its:translate="no">miguel@gnome.org</email>
</credit>
<credit type="author copyright">
<name>Morten Welinder</name>
<email its:translate="no">mortenw@gnome.org</email>
</credit>
<include xmlns="http://www.w3.org/2001/XInclude" href="cc-by-sa-3-0.xml"/>
<desc>Good, readable code keeps the project maintainable</desc>
<mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
<mal:name>Ελληνική μεταφραστική ομάδα GNOME</mal:name>
<mal:email>team@gnome.gr</mal:email>
<mal:years>2016</mal:years>
</mal:credit>
<mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
<mal:name>Θάνος Τρυφωνίδης</mal:name>
<mal:email>tomtryf@gnome.org</mal:email>
<mal:years>2016</mal:years>
</mal:credit>
</info>
<title>The Importance of Writing Good Code</title>
<p>
GNOME is a very ambitious free software project, and it is
composed of many software packages that are more or less
independent of each other. A lot of the work in GNOME is done by
volunteers: although there are many people working on GNOME
full-time or part-time for here, volunteers still make up a large
percentage of our contributors. Programmers may come and go at
any time and they will be able to dedicate different amounts of
time to the GNOME project. People’s “real world” responsibilities
may change, and this will be reflected in the amount of time that
they can devote to GNOME.
</p>
<p>
Software development takes long amounts of time and painstaking
effort. This is why most part-time volunteers cannot start big
projects by themselves; it is much easier and more rewarding to
contribute to existing projects, as this yields results that are
immediately visible and usable.
</p>
<p>
Thus, we conclude that it is very important for existing projects
to make it as easy as possible for people to contribute to them.
One way of doing this is by making sure that programs are easy to
read, understand, modify, and maintain.
</p>
<p>
Messy code is hard to read, and people may lose interest if they
cannot decipher what the code tries to do. Also, it is important
that programmers be able to understand the code quickly so that
they can start contributing with bug fixes and enhancements in a
short amount of time. Source code is a form of
<em>communication</em>, and it is more for people than for
computers. Just as someone would not like to read a novel with
spelling errors, bad grammar, and sloppy punctuation, programmers
should strive to write good code that is easy to understand and
modify by others.
</p>
<p>
The following are some important qualities of good code:
</p>
<terms>
<item>
<title>Cleanliness</title>
<p>
Clean code is easy to read with minimum effort. This lets
people start to understand it easily. This includes the
coding style itself (brace placement, indentation, variable
names), and the actual control flow of the code.
</p>
</item>
<item>
<title>Συνοχή</title>
<p>
Consistent code makes it easy for people to understand how a
program works. When reading consistent code, one
subconsciously forms a number of assumptions and expectations
about how the code works, so it is easier and safer to make
modifications to it. Code that <em>looks</em> the same in two
places should <em>work</em> the same, too.
</p>
</item>
<item>
<title>Επεκτασιμότητα</title>
<p>
General-purpose code is easier to reuse and modify than very
specific code with lots of hardcoded assumptions. When
someone wants to add a new feature to a program, it will
obviously be easier to do so if the code was designed to be
extensible from the beginning. Code that was not written this
way may lead people into having to implement ugly hacks to add
features.
</p>
</item>
<item>
<title>Correctness</title>
<p>
Finally, code that is designed to be correct lets people spend
less time worrying about bugs, and more time enhancing the
features of a program. Users also appreciate correct code,
since nobody likes software that crashes. Code that is
written for correctness and safety (i.e. code that explicitly
tries to ensure that the program remains in a consistent
state) prevents many kinds of silly bugs.
</p>
</item>
</terms>
<section id="book-references">
<title>Αναφορές βιβλίων</title>
<list>
<item><p><link href="http://www.cc2e.com">Code Complete</link>, από Steve McConnell.</p></item>
<item><p><link href="http://martinfowler.com/books/refactoring.html"> Refactoring: Improving the Design of Existing Code </link>, από Martin Fowler.</p></item>
<item><p><link href="http://en.wikipedia.org/wiki/Design_Patterns"> Design Patterns: Elements of Reusable Object-Oriented Software </link>, από Erich Gamma, Richard Helm, Ralph Johnson και John Vlissides.</p></item>
<item><p><link href="http://astore.amazon.com/gnomestore-20/detail/020163385X"> Object-Oriented Design Heuristics </link>, από Arthur Riel.</p></item>
</list>
</section>
</page>
|