Thread EBB 1.2 (12 answers)
Opened by [E|B] at 2005-01-08 23:26

renee
 2005-01-09 12:25
#16204 #16204
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
@Rambo:

Spaghetti-Code:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
#! /usr/bin/perl

use strict;
use warnings;

# berechnen von 14x^3 + 5x^2 - 7x
my $zahl = 14 * 2**3 + 5 * 2**2 - 7 * 2;
my $zahl2 = 14 * 3**3 + 5 * 3**2 - 7 * 3;

print $zahl,"\n",$zahl2,"\n";
# usw...


Bei Spaghetti-Code schreibt man alles in die "main", also im "normalen" Programm. Bei "in funktionen auslagern" fasst man gleichartige Sachen (wie oben die Werte berechnen) in sub's zusammen:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
#! /usr/bin/perl

use strict;
use warnings;

print func(2),"\n",func(3),"\n";

sub func{
my ($x) = @_;
return 14 * $x**3 + 5 * $x**2 - 7 * $x;
}


Gerade wenn man sehr häufig die gleichen Sachen macht (z.B. Parameter parsen etc...), lohnt sich ein "in funktionen auslagern". Dadurch wird der Code auch übersichtlicher und leichter "wartbar". Wenn Du feststellst, dass es x^4 statt x^3 heißen müsste, hast Du beim Spaghetti-Code Mühe alle Auftreten von x^3 zu ändern. Bei der Funktion musst Du es nur einmal ändern...
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/

View full thread EBB 1.2