Re: [edk2-CCodingStandardsSpecification PATCH 1/1] Update Chapter 5 Source Files examples to follow the coding standard


Michael D Kinney
 

-----Original Message-----
From: Kinney, Michael D <michael.d.kinney@...>
Sent: Tuesday, December 8, 2020 1:46 PM
To: devel@edk2.groups.io; rebecca@...; Kinney, Michael D <michael.d.kinney@...>
Cc: Leif Lindholm <leif@...>; Laszlo Ersek <lersek@...>; Andrew Fish <afish@...>
Subject: RE: [edk2-devel] [edk2-CCodingStandardsSpecification PATCH 1/1] Update Chapter 5 Source Files examples to follow
the coding standard

Reviewed-by: Michael D Kinney <michael.d.kinney@...>

Mike

-----Original Message-----
From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Rebecca Cran
Sent: Tuesday, December 8, 2020 4:27 AM
To: devel@edk2.groups.io
Cc: Rebecca Cran <rebecca@...>; Kinney, Michael D <michael.d.kinney@...>; Leif Lindholm
<leif@...>; Laszlo Ersek <lersek@...>; Andrew Fish <afish@...>
Subject: [edk2-devel] [edk2-CCodingStandardsSpecification PATCH 1/1] Update Chapter 5 Source Files examples to follow
the
coding standard

There shouldn't be a space after an opening parenthesis, or around
unary operators.

There should be a space before a opening parenthesis and around binary
operators.

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Rebecca Cran <rebecca@...>
---
5_source_files/52_spacing.md | 8 ++++----
5_source_files/54_code_file_structure.md | 8 ++++----
5_source_files/55_preprocessor_directives.md | 14 +++++++-------
5_source_files/57_c_programming.md | 6 +++---
4 files changed, 18 insertions(+), 18 deletions(-)

diff --git a/5_source_files/52_spacing.md b/5_source_files/52_spacing.md
index fca0044a148b..9a97466f1d61 100644
--- a/5_source_files/52_spacing.md
+++ b/5_source_files/52_spacing.md
@@ -103,10 +103,10 @@ by && or || must have each sub-expression on a separate line. The opening brace,
column of the associated keyword.

```c
-while ( ( Code == MEETS_STANDARD)
- && ( Code == FUNCTIONAL))
+while ((Code == MEETS_STANDARD)
+ && (Code == FUNCTIONAL))
{
- ShipIt();
+ ShipIt ();
}
```

@@ -220,7 +220,7 @@ This is not the case. The bitwise OR operator, '`|`', has lower precedence than
the equality operator, '`==`'. This results in the expression being evaluated as
if one had entered:
```
-8 | ( 8 == 8 )
+8 | (8 == 8)
```

This evaluates to the value 9.
diff --git a/5_source_files/54_code_file_structure.md b/5_source_files/54_code_file_structure.md
index caaeab94b68e..0c4d6a26820c 100644
--- a/5_source_files/54_code_file_structure.md
+++ b/5_source_files/54_code_file_structure.md
@@ -151,12 +151,12 @@ and hide each other. Never write code that does this.
7 {
8 UINT32 i;
9
-10 for ( i = 0; i < 5; ++i) {
+10 for (i = 0; i < 5; ++i) {
11 UCHAR8 MyVar = i; // Block scope
12 INT16 i = 12;
13
14 MyVar += 'A';
-15 process ( MyVar, i);
+15 process (MyVar, i);
16 }
17 *MyVar = i;
18 }
@@ -165,8 +165,8 @@ and hide each other. Never write code that does this.
21 {
22 UINT32 George = 4;
23
-24 MyFunction ( &George);
-25 process ( MyVar, 0);
+24 MyFunction (&George);
+25 process (MyVar, 0);
26 }
27
```
diff --git a/5_source_files/55_preprocessor_directives.md b/5_source_files/55_preprocessor_directives.md
index 98839f6677a8..3075285b7e31 100644
--- a/5_source_files/55_preprocessor_directives.md
+++ b/5_source_files/55_preprocessor_directives.md
@@ -77,8 +77,8 @@ An order-of-precedence bug in a macro is very hard to debug. The following are
examples of macro construction:

```
-#define BAD_MACRO(a, b) a*b
-#define GOOD_MACRO(a, b) ((a)*(b))
+#define BAD_MACRO(a, b) a * b
+#define GOOD_MACRO(a, b) ((a) * (b))
```

The following examples should explain the difference between `BAD_MACRO ()` and
@@ -86,9 +86,9 @@ The following examples should explain the difference between `BAD_MACRO ()` and

* `BAD_MACRO (10, 2)` and `GOOD_MACRO (10, 2)` both evaluate to 20.

-* `BAD_MACRO (7+3, 2)` returns 13 = 7 + (3*2).
+* `BAD_MACRO (7 + 3, 2)` returns 13 = 7 + (3 * 2).

-* `GOOD_MACRO (7+3, 2)` returns 20.
+* `GOOD_MACRO (7 + 3, 2)` returns 20.

Also, consider the following expression:

@@ -102,7 +102,7 @@ the equality operator, '`==`'. This results in the expression being evaluated as
if one had entered:

```
-8 | ( 8 == 8 )
+8 | (8 == 8)
```

This evaluates to the value 9 The desired result of `TRUE`, (1), can be achieved
@@ -123,7 +123,7 @@ or a simple substitution macro.
Failure to do this will cause the build to break.

```
-#define GOOD_MACRO(a, b) ((a)*(b))
+#define GOOD_MACRO(a, b) ((a) * (b))
```

This is because the compiler has no way to differentiate between
@@ -146,7 +146,7 @@ Failure to separate macro names from parameters negatively impacts readability
and consistency with other coding style rules.

```
-GOOD_MACRO (7+3, 2)
+GOOD_MACRO (7 + 3, 2)
```

#### 5.5.2.7 Single-line Functions
diff --git a/5_source_files/57_c_programming.md b/5_source_files/57_c_programming.md
index 8b9db584eea7..a167f925536f 100644
--- a/5_source_files/57_c_programming.md
+++ b/5_source_files/57_c_programming.md
@@ -259,7 +259,7 @@ Module parameters of a PERF_END invocation.

```c
for (Index = 0; Index < NumberOfEntries; Index++) {
- if (( LogEntryArray[Index].Handle == (EFI_PHYSICAL_ADDRESS)(UINTN) Handle)
+ if ((LogEntryArray[Index].Handle == (EFI_PHYSICAL_ADDRESS)(UINTN) Handle)
&& AsciiStrnCmp (LogEntryArray[Index].Token, Token, PEI_PERFORMANCE_STRING_LENGTH) == 0
&& AsciiStrnCmp (LogEntryArray[Index].Module, Module, PEI_PERFORMANCE_STRING_LENGTH) == 0
&& LogEntryArray[Index].EndTimeStamp == 0
@@ -301,7 +301,7 @@ Re-ordering the predicate expression using this information produces:

```c
for (Index = 0; Index < NumberOfEntries; Index++) {
- if ( LogEntryArray[Index].EndTimeStamp == 0
+ if (LogEntryArray[Index].EndTimeStamp == 0
&& LogEntryArray[Index].Handle == (EFI_PHYSICAL_ADDRESS)(UINTN) Handle
&& AsciiStrnCmp (LogEntryArray[Index].Module, Module, PEI_PERFORMANCE_STRING_LENGTH) == 0
&& AsciiStrnCmp (LogEntryArray[Index].Token, Token, PEI_PERFORMANCE_STRING_LENGTH) == 0
@@ -495,7 +495,7 @@ a `goto`.

```c
Status = IAmTheCode ();
-if (! EFI_ERROR (Status)) {
+if (!EFI_ERROR (Status)) {
IDoTheWork ();
}
return Status;
--
2.26.2




Join {devel@edk2.groups.io to automatically receive all group messages.