Alles, was unten geschrieben steht, behauptet nie, die absolute Wahrheit zu sein, stellt aber dennoch ein Modell dar, das mir persönlich hilft, Wege zu finden, um ein wenig besseren Code zu schreiben.. — . , . , , , , — . « » — , ? ? , ? . . — , .
, . , .
. , 7±2 . "
" . 4±1, . — , , .
, , . : , , — . . , — , , . . , «» « » — .

. .

, , . . « ». — - . , , «» — .
, , , . , . , - « », - .
, —
. , . , — - , , . .
- .
: , , , . , , . , . . .
. . , . : . , .
-, . , «», . , . : l 1, 0 . — . «» — , ?
. - — . , , , , « » . - , - — . : — .
. , . « » . — - - « ».
, . , , . , , , , , , .
for:
- A. for(i=0 to N)
- B. for(theElementIndex=0 to theNumberOfElementsInTheList)
?
. ? ,
B , ( ) . , , .
( , - ):
- A. strings.IndexOf(x, y)
- B. s.IndexOf(x, y)
- C. std.utils.strings.IndexOf(x, y)
- D. IndexOf(x, y)
, «s» — , «, , ».
, std.utils.strings — , , , , .
D , , , .
, , , IndexOf - . , «strings» , , , a + b, int16.Add(a, b).
, , « , ». :
func foo() (int, int) {
sum, sumOfSquares := 0, 0
for _, v := range values {
sum += v
sumOfSquares += v * v
}
return sum, sumOfSquares
}
func GCD(a, b int) int {
for b != 0 {
a, b = b, a % b
}
return a
}
func GCD(a, b int) int {
if b == 0 {
return a
}
return GCD(b, a % b)
}
(foo), , . ? , , , .
,
B .
sum = sum + v.x
sum = sum + v.y
sum = sum + v.z
sum = sum + v.w
sum1 = v.x
sum2 := sum1 + v.y
sum3 := sum2 + v.z
sum4 := sum3 + v.w
, (
D) .
, 3 . — .
:
- A. for(i = 0; i < N; i++)
- B. for(i = 0; N > i; i++)
- D. for(i = 0; i <= N-1; i += 1)
- C. for(i = 0; N-1 >= i; i += 1)
, ? ,
. . — .
, - . — . .
— « » . «, ». , « i, N, , i ..».
— « » . , , « ».
. ,
APL idioms,
C++ idioms . , , ( , , ).
. , . — ( ), , .
«» «». , . , Model Controller , , .
: , . - , .
. , , , , — , «» .
, . . , :
[1,2,3].filter(v => v >= 2)
- , «2 3» «1»? «» «»? — , . , , ?
select,
discard keep.
- . ,
GetUser(string) , , . ,
CustomerID ( )
GetUser(CustomerID),
GetUserByName(string). .
— .
total1,
total2,
total3 — - . , ( ) .
sum,
sum_of_squares,
total_error — .
— . : « , , UI ». , . - - , , , , .
. . , «» . , , , - .
, :
for(var i = 0; i < 100; i++) {
var a = 4;
, . . ( ) . , , , — . , «» «» — .
— , . , , , . « , Y Z - », « , ...».
.
. ( ) , . -. , , , . - , — , «», «». — , 5 . , 10 ( !) . . — , .
. — .
— . («early return»):
public void SomeFunction(int age)
{
if (age >= 0) {
} else {
System.out.println(" ");
}
}
public void SomeFunction(int age)
{
if (age < 0){
System.out.println(" ");
return;
}
}
« -» , , . , «else» - «else» , -, « -», - , , «else» , . .
. . . -, .
« ». , — ? , . «» «». , , , . , — , , ( ) — . , « », - , «» Singleton . , ?
. — , . , — . . — , - . , , .
. :
void MinorFunction1( void ) {
}
void MinorFunction2( void ) {
}
void MinorFunction3( void ) {
}
void MajorFunction( void ) {
MinorFunction1();
MinorFunction2();
MinorFunction3();
}
void MajorFunction( void ) {
MinorFunction1();
MinorFunction2();
MinorFunction3();
}
void MinorFunction1( void ) {
}
void MinorFunction2( void ) {
}
void MinorFunction3( void ) {
}
void MajorFunction( void ) {
{
}
{
}
{
}
}
, . , . ( ) — .
— , , , , — .
, , , , , , , .. , — . , .