Jak pisać czysty i piękny kod. Uprość złożone projekty

Spraw, aby Twój kod był piękny

Ogólnie rzecz biorąc, kod programu nie musi wyglądać pięknie; wystarczy, że będzie łatwy do odczytania. Ta sekcja oferuje kilka proste zalecenia nad projektem kodu programu, aby ułatwić Ci rozszyfrowanie własnego kodu programu jutro, za tydzień lub w razie potrzeby za rok.

Wcięcie w programie

Pamiętaj: powinieneś opracować zasady stosowania wcięć i ściśle ich przestrzegać. Kompilator VBA ignoruje wszystkie spacje na początku linii, więc możesz bezpiecznie używać wcięć do tworzenia porządku. Porównaj poniższe dwa fragmenty kodu i zdecyduj, który z nich jest łatwiejszy do zrozumienia:

Jeśli intA = 27 To

objCbar.Visible = Prawda

Jeśli intA = 27 To

Jeśli txtChooseColor.Text = Beżowy To

Dla każdego objCbar w paskach poleceń

Jeśli objCbar.Name = Mój pasek narzędzi To

Jeśli objCbar.Visible = False To

objCbar.Visible = Prawda

Oba te fragmenty dają ten sam wynik, ale wcięcie w drugim fragmencie pozwala natychmiast określić dla każdej instrukcji End If, która z powyższych instrukcji If jest. . Wtedy będzie jego mecz. Dzięki temu łatwiej jest prześledzić ścieżkę wykonania programu w zależności od panujących warunków.

Z książki Sztuka oszustwa autorstwa Mitnika Kevina

„Zrób to teraz” Nie każdy, kto stosuje tę taktykę Inżynieria społeczna, jest idealnym inżynierem społecznym. Każdy, kto jest właścicielem informacje wewnętrzne firmie, może spowodować niebezpieczeństwo. Ryzyko jest jeszcze większe w przypadku firm przechowujących dane w swoich plikach i bazach danych

Z książki Internet Intelligence [Przewodnik po działaniu] autor Juszczuk Jewgienij Leonidowicz

Pakiet oprogramowania„Intellectum.BIS” Głównym celem produktu jest udostępnienie ekspertom i analitykom ds. marketingu narzędzi do przetwarzania informacji w celu prowadzenia badań biznesowych w celu zapewnienia kierownictwu informacji umożliwiających podejmowanie decyzji zarządczych.

Z książki Computerra Magazine nr 705 autor Magazyn Computerra

Niech będzie ciszej Autor: Vladimir Guriev W sierpniu 2007 odwiedziłem Hungaroring, węgierski etap Formuły 1. Wszyscy moi przyjaciele – a zwłaszcza fani Formuły 1 – byli oczywiście o mnie zazdrośni, a ja, jako uczciwa osoba, starał się nie zwieść ich oczekiwań i pytań typu „No i jak tam?”

Z książki Język programowania C# 2005 i platforma .NET 2.0. przez Troelsena Andrew

Kod agenta Jeśli otworzysz wygenerowany plik agenta, znajdziesz typ pochodzący z System.Web.Services.Protocols.SoapHttpClientProtocol (chyba że określono inny protokół komunikacyjny przy użyciu opcji /protocol public częściowej klasy CalculatorWebService: System). Web.Services.Protocols.SoapHttpClientProtocol (...)This

Z książki Architektura TCP/IP, protokoły, implementacja (w tym IP w wersji 6 i IP Security) przez Faith Sydney M

2.2.4 Interfejs programowania RPC Chociaż nie jest tak powszechny jak gniazdo, interfejs oprogramowania dzwonić procedury zdalne(Zdalne wywołanie procedury - RPC) dla połączeń klient/serwer jest często używane w różne systemy. Pierwotnie został wdrożony w

Z książki VBA dla opornych przez Steve’a Cummingsa

Zrób sobie przerwę! Kluczem do debugowania programu jest tryb pauzy VBA. Tryb pauzy to tymczasowe zatrzymanie wykonywania programu po wykonaniu jakiejś instrukcji w kod programu. Ponieważ w tym przypadku program nadal żyje”, masz możliwość sprawdzenia bieżących wartości

Z książki Internet dla Twoich rodziców autor Szczerbina Aleksandra

Dokonaj wyboruB Ostatnio istnieje stały trend oddalający się od tego programy pocztowe. Wiele doświadczonych użytkowników nawet nie wiedzą o ich istnieniu. Wyjaśnia to fakt, że obecność powszechnych i szybki dostęp do Internetu rekompensuje niedociągnięcia

Z książki Podwojenie sprzedaży w sklepie internetowym autor Parabellum Andriej Aleksiejewicz

Uczyń proces zamawiania logicznym. Większość użytkowników jest zdezorientowana niespójnym (nieliniowym) procesem płatności - nie jest jasne, jak kupić produkt lub sam zakup jest trudny. Jeżeli Twój sklep internetowy w trakcie opłacania zamówienia posiada podetapy typu „Tworzenie

Z książki PC bez stresu autor Żwalewski Andriej Walentinowicz

Spraw, aby tekst był piękny lub Formatowanie Użytkownicy komputerów to ludzie niesentymentalni. Wstydzą się słów „uczyń litery pięknymi” lub „uczyń piękny tekst”. Zamiast tego używają wyrażenia „formatowanie tekstu” i czasami o tym mówią

Z książki Ubuntu 10. Szybka porada użytkownik autor Kolisnichenko D. N.

23.2. Awaria oprogramowania Przede wszystkim należy znaleźć i jeśli to możliwe wyeliminować przyczynę awarii. Jeśli już czysto usterka oprogramowania, to są dwa powody: nieprawidłowe ustawienie programu (lub systemu) i błędu

Z książki Monetyzacja witryny internetowej. Tajniki duże pieniądze w Internecie autor Merkułow Andriej

Zadbaj o to, aby Twój artykuł został przeczytany do końca. Rozwiązaniem problemu jest umiejętność zwięzłego opowiedzenia o problemie klienta w pierwszych dwóch akapitach artykułu. Będzie to jednak całkowicie niemożliwe bez wstępnego badania zainteresowań grupa docelowa,

Z książki system operacyjny UNIX-a autor Robaczewski Andriej M.

Interfejs programowania TLI Podczas omawiania implementacji wsparcie sieci w BSD UNIX, interfejs programu umożliwiający dostęp zasoby sieciowe oparty na gniazdku. W ta sekcja opisuje interfejs warstwy transportu (TLI), który zapewnia

Z książki Fotografia cyfrowa od A do Z autor Gazarow Artur Juriewicz

Tryb programu jest oznaczony literą P. Ogólnie rzecz biorąc, tryb automatyczny, ale w odróżnieniu od Auto, umożliwia samodzielną zmianę wielu parametrów wybranych przez aparat: zmianę czułości ISO, balansu bieli, wyboru trybu i punktu AF,

Z książki Eksplozja uczenia się: dziewięć zasad skutecznej wirtualnej klasy przez Murdocha Matthew

Z książki Linux i wszystko, wszystko, wszystko... Artykuły i felietony w LinuxFormat, 2006-2013 autor Fedorczuk Aleksiej Wiktorowicz

Z książki autora

Uczyń mnie... dobrym LinuxFormat, #104 (kwiecień 2008)Wieczny sen Użytkownicy Linuksa– sprawienie, by wszystko działało od razu po wyjęciu z pudełka, wydaje się być bliskie realizacji. Co można zaobserwować na przykładzie wersji alfa Kubuntu – 8.04. Zainstalowany, jak poprzednio, z połową tyłu, zarówno na pulpicie, jak i

Czasami nasz kod nie zawsze jest doskonały. A bardzo mi zależy, żeby był nie tylko funkcjonalny, ale też pięknie zaprojektowany i sformatowany. Czas jest nasz główny wróg, rzadko pozwala nam przestrzegać zasad formatowania kodu. Staramy się szybko dokończyć układ, czyli opisać kilkanaście stylów CSS i robimy to kosztem czytelności. W tym artykule przedstawię listę usług, które pomogą Ci sformatować kod tak, aby przyjemnie się na niego patrzyło.

Zaufać programowi czy zrobić wszystko ręcznie?

Na pewno masz pytanie: jak sprawić, by kod był czytelny? Czy program może poprawnie rozmieścić wszystkie wcięcia i łamania linii, tak aby ludzkie oko czerpało z oglądania kodu wyłącznie przyjemność estetyczną? Oczywiście, że może! Nie daj się zwieść, że skoro pracę w zasadzie wykonuje za Ciebie robot, to będzie ona wykonana „brudnie”. Usługi, które zostaną przedstawione w poniższym artykule, uratowały mnie nie raz. Na przykład w sytuacjach, gdy konieczne było skopiowanie tego samego Kod HTML z innej strony, a po wstawieniu tagi okazały się po prostu ułożone w chaotyczny sposób wzdłuż linii: dużo zakładek, nielogiczne podziały linii, absolutnie nie widać zagnieżdżenia! Jest to prawdopodobnie znane wielu. I naprawdę chcę, żeby Twoja witryna wyglądała inaczej: schludnie i czytelnie. Przecież przede wszystkim robimy to dla siebie, dla wygody dalszej obsługi tego czy innego kodu.

Sformatujmy Twój kod

Mów mniej, pracuj więcej. Jak pokazała praktyka, formatowanie kodu online jest dość proste. Wszystko, co musisz zrobić, to skopiować swój brudny kod i wkleić go do specjalnego pola tekstowe w jednym z określonych serwisów. Następnie naciśnij przycisk, poczekaj chwilę i - voila! Otrzymujesz piękny, sformatowany i łatwy do odczytania kod.

Oto lista wszystkich znanych mi kodów „oczyszczaczy” dla różnych języków.

Robert Martin doskonale opisał pomiar jakości kodu:

Jedynym wartościowym miernikiem jakości kodu jest WTF/min.

Wyjaśnię trochę bardziej szczegółowo. Kiedy przeprowadzam recenzję kodu, towarzyszą mi tylko trzy emocje:

  1. WTF (z obrzydzeniem) – ten kod jest niepotrzebny.
  2. WTF (z podziwem) – mądry ten człowiek.
  3. WTF (zirytowany) – tego nonsensu nie da się zrozumieć.

Jaka jest pierwsza rzecz, która na nas wpływa, gdy widzimy jakikolwiek kod? To czystość i piękno jego pisarstwa. Tworzenie czystego i pięknego kodu jest oznaką doskonałego rzemieślnika.

Nauka tego rzemiosła przebiega w dwóch kierunkach: wiedza i praca. Wiedza uczy wzorców, zasad i technik, których potrzebujesz, aby stać się lepszym w swoim zawodzie. Ale tę wiedzę należy zastosować poprzez ciągłą praktykę i ciężką pracę.

Oto kilka technik, które mogą pomóc Ci w sztuce pisania czystego i pięknego kodu.

Zacznij od imienia

Kendrick Lamar dobrze to ujął:

Jeśli chcę powiedzieć prawdziwa historia, to zacznę od mojego imienia.

Nazwiska są wszędzie w programie. Nadajemy naszym funkcjom, klasom, argumentom i wielu innym rzeczom nazwy. Nazywamy plikami źródłowymi, katalogami i wszystkim, co się w nich znajduje. Ciągle wymyślamy nowe nazwy, dopóki nie zaczną zatykać naszego czystego kodu.

Tytuł powinien wyrażać intencję. Wybór dobre imiona wymaga czasu, ale ostatecznie oszczędza go dla Ciebie w przyszłości. Pomyśl więc o imionach i zmień je, jeśli nagle wymyślisz lepszą nazwę. Pamiętaj, że nazwa każdej zmiennej, funkcji czy klasy musi odpowiadać na trzy pytania: dlaczego istnieje, do czego służy i do czego służy.

Wymaga to nie tylko dobrych umiejętności opisowych, ale także szerokiego tła kulturowego, a tego można się nauczyć tylko Ty.

Funkcje muszą robić jedną rzecz

Louis Sullivan powiedział kiedyś:

Forma podąża za funkcją.

Każdy system tworzony jest w oparciu o specyficzny język dziedzinowy, który tworzony jest przez programistów, aby móc go dokładnie opisać. Funkcje to czasowniki tego języka, a klasy to rzeczowniki. Funkcje powinny być w pierwszej kolejności organizowane w dowolnym języku programowania i tworzone uroda to esencja pisania dobrego kodu.

Istnieją tylko dwie złote zasady tworzenia czystych funkcji:

  • Powinny być małe
  • Muszą zrobić jedną rzecz i zrobić to dobrze.

Oznacza to, że funkcja nie powinna zawierać struktur zagnieżdżonych. Zatem poziom wcięcia w funkcji nie powinien być większy niż jeden lub dwa. Ta metoda sprawia, że ​​kod jest łatwiejszy do odczytania i zrozumienia. Oprócz tego musimy się upewnić, że instrukcje w naszej funkcji znajdują się na tym samym poziomie abstrakcji. Mieszanie poziomów abstrakcji w funkcji skutkuje kodem, którego nie można naprawić. Mistrzowie programowania myślą o funkcjach jak o historiach, które należy opowiedzieć, a nie o kodzie, który należy napisać.

Wykorzystują wygodę wybranego języka, aby stworzyć wyrazisty, czysty blok kodu, który dobrze opowiada pożądaną historię.

Komentarze nie naprawią złego kodu

Venus Williams zauważyła:

Każdy zostawia swoje komentarze. Tak rodzą się plotki.

Komentarze to nóż obosieczny. Dobrze umieszczony komentarz może być bardzo pomocny. Ale z drugiej strony nic nie zaśmieca kodu bardziej niż bezużyteczne komentarze. A nic tak nie rozprzestrzenia dezinformacji jak komentarze.

Dlatego komentarze są złem koniecznym. Nie zawsze, ale w większości przypadków. Im starszy komentarz, tym trudniej go utrzymać, a wielu programistów nie dopasowuje komentarzy do swojego kodu. Kod porusza się i rozwija. Części kodu poruszają się tu i tam, ale komentarze nie, co staje się problemem.

Zawsze pamiętaj, że czysty i wyrazisty kod z kilkoma komentarzami jest lepszy niż zaśmiecony i złożony kod z wieloma komentarzami. Nie trać czasu na wyjaśnianie bałaganu, który stworzyłeś, zamiast tego posprzątaj.

Formatowanie kodu jest zawsze priorytetem

Formatowanie kodu dotyczy komunikacji, a komunikacja jest priorytetem dla profesjonalnego programisty, zauważa Robert Martin.

Sformatowany kod jest oknem do Twojego umysłu. Chcemy, żeby ludzie byli pod wrażeniem naszego przywiązania do porządku, dbałości o szczegóły i jasności myślenia. Jeśli jednak zobaczą niezrozumiałą masę kodu bez wyraźnego początku i końca, niewątpliwie zaszkodzi to Twojej reputacji.

Jeśli myślisz, że najważniejsze, żeby wszystko działało, to się mylisz. Funkcjonalność, którą zbudujesz dzisiaj, może zostać zastąpiona w następnej wersji, ale czytelność Twojego kodu nie ulegnie zmianie.

Zawsze wiedz, że zostaniesz zapamiętany ze względu na swój styl i dyscyplinę, a nie kod. Dlatego powinieneś zadbać o to, aby Twój kod był dobrze sformatowany i zgodny z nim proste zasadyże wszyscy w Twoim zespole rozumieją.

Najpierw napisz try-catch-final

Georges Canguilhem słusznie powiedział:

Popełniać błędy jest rzeczą ludzką, ciągłe popełnianie błędów jest nieludzkie.

Programiści cały czas zajmują się błędami. Dane wejściowe mogą być nieprawidłowe, a urządzenia mogą ulec awarii. Jako programiści musimy się upewnić, że kod działa zgodnie z oczekiwaniami. Jednak problemem nie jest obsługa błędów, problemem jest obsługa błędów przy zachowaniu czystego, czytelnego wyglądu.

Często poprawki błędów bardzo zmieniają kod. Wszystko staje się tak chaotyczne, że trudno jest zrozumieć cel i logikę głównego kodu. To nie jest właściwe. Kod powinien być czysty i niezawodny, a błędy naprawiane z wdziękiem i stylem. To oznaka mistrza w rozwoju.

Jednym ze sposobów osiągnięcia tego jest prawidłowe umiejscowienie wszystkie błędy w blokach try-catch. Bloki te definiują zakres kodu. Kiedy wykonujesz fragment kodu w klauzuli try, stwierdzasz, że wykonanie może zostać przerwane w dowolnym momencie i kontynuowane w catch.

Dlatego też, gdy piszesz kod, dobrą praktyką jest rozpoczęcie od instrukcji try-catch-finally. Pomoże Ci to określić, czego oczekuje użytkownik, niezależnie od tego, co pójdzie nie tak z kodem w sekcji try.

Pamiętaj, że dla każdego wyjątku musisz podać wystarczający kontekst, aby określić źródło i lokalizację błędu. Kreatywne, informacyjne komunikaty o błędach zostaną zapamiętane długo po napisaniu kodu i opuszczeniu organizacji przez programistów.

Wniosek

Jakim słowem można podsumować wszystko, co zostało tutaj powiedziane?

To rozsądek kodowy, odpowiednik zdrowego rozsądku w oprogramowaniu.

Według Roberta Martina „pisanie czystego kodu wymaga zdyscyplinowanego stosowania niezliczonej liczby drobnych technik stosowanych w celu stworzenia poczucia czystości. Te małe techniki razem tworzą poczucie kodu.

Niektórzy z nas rodzą się z tą umiejętnością, a niektórzy nabywają ją wytrwale poprzez praktykę. To poczucie kodu nie tylko pomaga nam odróżnić dobry i zły kod, ale także pozwala nam formułować strategie przekształcania złego kodu w dobry kod. Zmysł kodu pomaga programiście dokonać wyboru najlepsze narzędzia dostępne do tworzenia cennych, czystych i piękny kod.

Można to podsumować słowami Harolda Abelsona:

Programy muszą być pisane najpierw dla ludzi, którzy będą je czytać, a dopiero potem dla maszyn, które je wykonają.

Podam podstawowe zasady, którymi należy się kierować przy tworzeniu kodu, aby za tydzień móc przyjrzeć się kodowi i określić, którą funkcją co zrobić. Kolejną zaletą pisania czytelnego kodu jest łatwość wyszukiwania i naprawiania błędów. Od razu powiem, że przykłady, które zaznaczam jako „niepoprawne” nie oznaczają, że nie działają, ale że są niepoprawne z punktu widzenia opracowania czytelnego kodu.

1. Wyjmij zmienne z nawiasów

Zawsze podczas wyświetlania tekstu na ekranie zmienne w wierszu muszą być umieszczone poza nawiasami. Jest to nie tylko wygodne do oglądania, ale także skuteczne, ponieważ powoduje szybsze wyświetlanie obrazu na ekranie.

Niepoprawny przykład:

echo "Wartość wynosi $val"

Poprawny przykład:

echo "Wartość to ".$wart

2. Pamiętaj o korzystaniu z komentarzy

Każdą funkcję należy w miarę możliwości opisać krótkim komentarzem. Każdy fragment, jeśli uznasz, że jest wystarczająco trudny do zrozumienia, warto opisać krótkim komentarzem. Ogólnie rzecz biorąc, komentarz powinien opisywać wszystko, co uważasz za konieczne. Rodzaj komentarza musisz określić sam. To może być ten Ciąg tekstowy, czyli blok linii opisujący cel funkcji, informacje o jej autorze itp.

3. Użyj skróconej wersji funkcji echa. Na przykład taki zapis

można łatwo zastąpić

4. Jeśli to możliwe, przenieś duże bloki HTML poza konstrukcje PHP. Nie nadużywaj funkcji php.

Niepoprawny przykład:

"; echo "Numer poprzedzający to ".($i - 1); echo "
"; } ?>

Poprawny przykład:

Numer to
Numer przed jest

Należy pamiętać, że tutaj otwierane są dwie konstrukcje php i pomiędzy nimi wstawiana jest Tekst HTML. Być może wg ten przykład i nie ma wyraźnej korzyści z przeniesienia tekstu poza strukturę PHP, ale tak naprawdę, gdy masz do czynienia z tabelami, taka reguła może być bardzo przydatna.

5. Kod musi być wyrównany względem bloków.

Niepoprawny przykład:

Pamiętaj, że php to nie Pascal z blokami początku...końca. Tutaj blok powinien otwierać się w tej samej linii, w której się zaczął, i zamykać zgodnie z początkiem bloku:

6. Uprość złożone projekty. Podziel je na proste.

Niepoprawny przykład:

$res = mysql_result(mysql_query("WYBIERZ Num Z bazy danych"), 0, 0)

Poprawny przykład:

$query = mysql_query("WYBIERZ Num Z bazy danych"); $res = mysql_result($zapytanie, 0, 0);

7. Użyj więcej spacji i pustych linii.

Właściwie to wystarczy ważny element pisanie czytelnego kodu. Widziałem, jak niektórzy nie odchodzą puste linie i używaj jak najmniejszej liczby miejsc, biorąc pod uwagę, że zajmują dodatkowa przestrzeń. Jest to zasadniczo błędne, ponieważ dodatkowe bajty pozwolą innej osobie zaoszczędzić czas na analizowaniu cudzego kodu.

Niepoprawny przykład:

Poprawny przykład:

8. Używaj skrótów do operacji matematycznych i na ciągach znaków.

Pamiętaj, że +1 można zawsze zastąpić ++, a +n +=n.

Przykłady podstawień:

$i = $i + 1 jest równoważne $i++
$i = $i — 1 jest równoważne $i—
$i = $i + $n jest równoważne $i+=$n
$i = $i."witaj" jest odpowiednikiem $i.="witaj"

Dobry zły

Umiejętność pisania kodu nie oznacza, że ​​potrafisz to zrobić poprawnie. Dobry kod- jest jak pięknie zaprojektowany post - jest wygodny w czytaniu, łatwy w nawigacji, a programista zawsze wie, jak go rozwinąć, zdebugować lub wykorzystać do innych celów.
Dlatego zawsze ważne jest, aby zwracać uwagę na projekt kodu i komentować złożone sekcje kodu.

Na początek trochę teorii. Możesz napisać ten sam kod różne sposoby. Kod może być proceduralny, funkcjonalny I zorientowany obiektowo.

Podejście proceduralne

Podejście proceduralne jest najprostsze. Oznacza skrypt, w którym zapisywane są polecenia i wywoływane są elementarne funkcje PHP.
Na przykład:

$a = 10;
$c = $a% $b;
$e + $d;
echo okrągłe($e);
?>

Takie podejście jest odpowiednie, jeśli masz bardzo mały kod lub wykonuje ściśle jedno zadanie (na przykład generowanie obrazu), jak to się mówi: „ani krok w prawo, ani krok w lewo”.

Podejście funkcjonalne

W podejściu funkcjonalnym kod jest podzielony na części, a każda część jest umieszczona w swojej własnej funkcji. Pozwoli to uniknąć powielania kodu, sprawi, że kod będzie zwięzły i łatwiejszy do odczytania.
Ponadto każda funkcja będzie miała swój własny zakres zmiennych. Oznacza to, że zmienne „żyjące w niej” nigdy nie wyciekną na zewnątrz, a zmienne użyte poza funkcją również nie znajdą się w samej funkcji.
Definiując funkcję, możesz sam określić, które zmienne mają wejść do funkcji i co powinna zwrócić, czyli ściśle kontrolujesz ten proces.

Teraz spróbujmy funkcjonalny.

//zwróci koszt
funkcja getPrice($cena, $waga) (
$wynik_cena * $waga;
zwróć cenę_wyniku;
}
//zwróć wszystkie wagi
funkcja getWeights() (
zwróć tablicę(5, 12, 14, 16, 22, 135, 150, 200, 254, 300, 400);
}

//pobierz wagi do zmiennej
$waży wszystkie owoce
foreach ($owoce jako $owoc) (
foreach ($wagi jako $waga) (
echo $owoc["nazwa"] . „ ”. $waga. „koszt kg”. getPrice($owoc["cena"], $waga) . "pocierać.
";
}
}
?>

Kod wyszedł dużo czytelniejszy. Wagi są określone w funkcji getWagi i po prostu dodając je tam, oblicz, ile będzie kosztować inna waga każdego owocu.
Przejrzałem wszystkie owoce i przy każdym wyszukiwaniu przeglądałem wszystkie wagi. Można było to zrobić odwrotnie.
Źródło na Pastebin http://pastebin.com/07QTBihX

I wreszcie wdrożenie dalej Ups.

klasa Owocowanie (
publiczne $owoce;
publiczne wagi $;

funkcja publiczna setData($owoce, $wagi) (
$this->owoce = $owoce;
$this->wagi = $wagi;
}

funkcja prywatna getPrice($cena, $waga) (
$result_price = $cena * $waga;
zwróć cenę_wyniku;
}

funkcja publiczna getResult() (
//posortuj wszystkie owoce
foreach ($this->owoce jako $owoc) (
// iteruj po wszystkich wagach każdego owocu
foreach ($this->wagi jako $waga) (
echo $owoc["nazwa"] . „ ”. $waga. „koszt kg”. self::getPrice($owoc["cena"], $waga) . "pocierać.
";
}
}
}
}

$owocowanie = nowe owocowanie();
$owoce->setData($owoce, tablica(5, 12, 14, 16, 22, 135, 150, 200, 254, 300, 400));
$owocowanie->getResult();
?>

Jak widać, kod jest bardziej obszerny. Na proste obliczenia Można sobie poradzić z podejściem funkcjonalnym, ale wszystkie naprawdę duże i złożone projekty są pisane przy użyciu OOP.

Pisząc materiał starałem się kierować radą @ontofractal :)

P.S. Kiedy piszesz kod, wyobraź sobie, że będzie go obsługiwał niezrównoważony psychicznie maniak, który wie, gdzie mieszkasz.