![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 496 Pomógł: 2 Dołączył: 15.07.2011 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Szukam obecnie pracy w webmasterce ... mam już pewne doświadczenie ale w tworzeniu kodu samodzielnie, ponieważ prowadziłem własną działalność gospodarczą. Teraz aplikując do pracy w dowolnej firmie okazuje się że występują pewne standardy w tworzeniu kodu - zaznaczam że nie dziwi mnie ten fakt wogóle ( jest to oczywiste dla mnie ). Przejdę do rzeczy. Poniżej umieszczę jeden ze skryptów i prosiłbym o surową krytykę oraz o podpowiedzenie mi co można zmienić, poprawić, zoptymalizować w tym kodzie, czego się robić nie powinno itd. Będę serdecznie wdzięczny. Od razu zaznaczę że wiem iż kod css powinien być zawsze w innym pliku więc tej uwagi proszę nie zamieszczać ![]() Kto najwięcej mi pomoże i najwięcej wymieni błędów dostanie status "Pomógł" ![]() Poniżej podam też odpowiedź mailową od jednej z firm po obejrzeniu m.in. poniższego kodu: "Przesłane próbki kodu nie spełniają jednak naszych oczekiwań i są raczej dalekie od naszych standardów. Nie stosuje Pan funkcji, wszystko jest napisane jednym ciągiem. Zamiast wykonać pętlę kopiuje Pan kod."
dziękuję, pozdrawiam Ten post edytował damianooo 19.06.2012, 11:14:29 |
|
|
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza ![]() |
1. Nie stosuj @ przed funkcjami. W ten sposób tłumisz ewentualne błędy, ale ich nie eliminujesz. Poza tym stosując @ skazujesz się na brak informacji o ewentualnych błędach.
2. Faktycznie sporo kodu powielasz. Najlepiej widać to w warunku if( $vcv % 2 ). Z tego co wiedzę kody w nim różnią się tylko definicją koloru. Mogłeś zatem podstawiać tylko różny kolor w zależności od tego, czy warunek jest spełniony czy nie. 3. Zdecyduj się na 1 styl nazewnictwa zmiennych: $gospodarz_mecz, $czyjuzjest, $liczbaRekordow. 4. Stosuj ' w miejsce " dla ciągów PHP. Między nimi jest subtelna różnica. Jaka? Poszukaj. 5. Masa stylów inline - ale prosiłeś by tego się nie czepiać. 6. Twój wynikowy kod HTML jest niepoprawny. Wartości atrybutów umieszczamy w ", a nie w '. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 1 748 Pomógł: 388 Dołączył: 21.08.2009 Skąd: Gdynia Ostrzeżenie: (0%) ![]() ![]() |
Tu nie ma co optymalizować....Żadna normalna firma nie przyjmie takiego kodu, ponieważ jest trudny do zorientowania się i przez to, że wszystko jest razem namieszane, jakiekolwiek zmiany są ciężkie i bardzo czasochłonne, a w przypadku większych przeróbek prościej będzie skasować i napisać to od nowa, a czas to pieniądz.
Oprócz tego co napisał kolega wyżej: 1. Brak tutaj jakiejkolwiek architektury aplikacji, aplikacja powinna być podzielona na warstwy i rodzielać zadania na różne komponenty aplikacji 2. zamiast funkcji mysql_ lepiej jest używać PDO 3. kod html powinien być oddzielony od kodu php 4. to co jeszcze mnie osobiście odraża to polska nomenklatura, która zaburza czytelność kodu, kod php, html, css jest po angielsku więc całość jest czytelniejsza, jeśli stosujesz nomenklaturę angielską 5. Nielogiczne nazywanie zmiennych jak patrzę w kod to nie wiadomo o co chodzi z takimi zmiennymi :$gsp_01_01, $gos_02_01, $sql_czyjuzjest, zmienne powinny mieć proste symboliczne nazwy, które wskazują co to jest 6. Zbyt dużo niezorgranizowanych zmiennych, np. to co jest między linijkami 170-190, można by zorganizować w ładną tablicę wielowymiarową i uporządkować 7. Jeżeli chcesz się tym zająć na poważnie, to musisz nauczyć się programować obiektowo, jeżeli chcesz w miarę szybko podjąć pracę to opanuj jakiś framework, który już na starcie rozwiąże bardzo wiele kwestii, o któych nie masz pojęcia i narzuci Tobie architekturę aplikacji 8. Stosujesz różne standardy nazewnictwa zmiennych, raz camelCase, raz z podkreślnikiem, a czasami to nie wiadomo co, to powinno być ujednolicone |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 348 Pomógł: 26 Dołączył: 8.10.2008 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
Zaleciłbym jeszcze przeczytać krótki poradnik Włodzimierza Gajdy na temat formatowania kodu.
http://gajdaw.pl/php/formatowanie-kodu-php/p1.html Teoretycznie chodzi tylko o formatowanie PHP jednak wnioski można wywnioskować odnośnie co do chyba każdego języka i składni. Edit: Nie wiem jak to się ma do innych programistów i firm ale ja osobiście nie lubię tego:
Teraz wygląda to mniej więcej tak:
Ewentualnie z Doctrinem 1
Ten post edytował Adi32 19.06.2012, 12:15:55 -------------------- Wolałem języki z rodziny C ale poszedłem na łatwizne...
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
damianooo - jeśli prowadziłeś własną działalność, współczuję każdemu kto był Twoim klientem, jeśli kod był w takim stanie.
Nie licz, że z czymś takim ktoś Cie przyjmie do pracy, to po prostu kawał solidnej amatorki, począwszy od html, skończywszy na PHP. Chyba że jako "przynieś, pozamiataj", ale nie jako koder. Napisałeś zamiast Jest różnica między apostrofami, a cudzysłowem. Stosuj ten pierwszy, jeśli wyświetlasz tylko tekst. Nie
tylko
Stosuj 3 lub 4 spacje, w edytorze zamiast tabulacji. Ten post edytował !*! 19.06.2012, 12:59:44 -------------------- Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta). |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 348 Pomógł: 26 Dołączył: 8.10.2008 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
damianooo - jeśli prowadziłeś własną działalność, współczuję każdemu kto był Twoim klientem, jeśli kod był w takim stanie. Nie licz, że z czymś takim ktoś Cie przyjmie do pracy, to po prostu kawał solidnej amatorki, począwszy od html, skończywszy na PHP. Chyba że jako "przynieś, pozamiataj", ale nie jako koder. Różne firmy są... W mojej większość programistów tak pisze i nikt nie widzi w tym problemu. To nie dobrze jak szef nie ma pojęcie o programowaniu... Heh, u mnie nie wiedzą co to preg_math... Także nigdy nie wiadomo a na doszkalanie nigdy nie jest za późno... Edit: !*! dlaczego Cytat Cytat if(false === $result_mecz) zamiast Cytat if($result_mecz === false) ? Ten post edytował Adi32 19.06.2012, 13:07:00 -------------------- Wolałem języki z rodziny C ale poszedłem na łatwizne...
|
|
|
![]()
Post
#7
|
|
![]() Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza ![]() |
Nie
tylko
Możesz podać uzasadnienie wraz z jakimś linkiem potwierdzającym? Z tego co pamiętam to tak naprawdę nie miało to żadnego znaczenia. |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 2 958 Pomógł: 574 Dołączył: 23.09.2008 Skąd: wiesz, że tu jestem? Ostrzeżenie: (0%) ![]() ![]() |
Poza tym co już koledzy napisali.. wysyłasz kod napisany strukturalnie, który z tego co widzę obsługuje zakłady bukmacherskie - dość kiepski wybór. Jeżeli zobaczysz w dziale Giełda wymagania stawiane przed programistami to prawie każdy wymaga znajomości OOP lub jakiegoś framework'a (a to się pośrednio wiąże ze znajomością OOP).
Na twoim miejscu: - aplikował bym jako front-end developer - w tym czasie doszlifował bym PHP - w tym czasie zapoznał bym się z jakimś znanym frameworkiem np. Zend lub Kohana - w tym czasie zapoznał bym się z wzorcami innymi niż MVC - w tym czasie poznał bym inny język gdzie prawidłowo zaimplementowano OOP I dopiero wtedy aplikował bym jako programista PHP tudzież webmaster |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
To jedna z niepisanych praktyk, w przypadku:
Oczywiście nie nadaje się zmiennej w warunku, ale tak samo jak nie używa się @ a mimo to ludzie to robią. -------------------- Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta). |
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 2 958 Pomógł: 574 Dołączył: 23.09.2008 Skąd: wiesz, że tu jestem? Ostrzeżenie: (0%) ![]() ![]() |
!*! co ma piernik do wiatraka? nie stosować if($text === true) bo jakiś współpracownik będzie myślał, że to przypisywanie zmiennej... ?
ps. przepraszam za spam Ten post edytował CuteOne 19.06.2012, 13:19:09 |
|
|
![]()
Post
#11
|
|
![]() Grupa: Zarejestrowani Postów: 728 Pomógł: 76 Dołączył: 12.06.2009 Ostrzeżenie: (0%) ![]() ![]() |
Poprzednicy dobrze piszą ale nie pękaj gdyż załapanie obiektówki to dość trudna rzecz i nie chwyta się tego od razu, tak samo z frameworkami. Od siebie polecam ten materiał na temat wzorców projektowych (ale to na sam koniec jak już żeby zjesz na teorii OOP)
http://sourcemaking.com/design_patterns -------------------- gry flash online
Dobry hosting i tanie odnowienia domen firma: masternet. Zarabianie bez wysiłku na domenach bez ruchu: prolink. |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 348 Pomógł: 26 Dołączył: 8.10.2008 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
To jedna z niepisanych praktyk, w przypadku:
Oczywiście nie nadaje się zmiennej w warunku, ale tak samo jak nie używa się @ a mimo to ludzie to robią. Ja się nie zgodzę. Uważam, że nie ma to większego znaczenia ale dla jednolitości i żeby nie przekombinowywać należy używać
Dlaczego nie nadaje się zmiennej w warunku?
Oczywiście pomijając funkcje typu strpos() i podobne, które mogą zwrócić false lub zero a warunek w obydwu przypadkach zwróci fałsz. Przepraszam za offtop, jak widać niektórych zaintrygowały niektóre posty których nie byłoby sensu rozważać w dedykowanym temacie. Ten post edytował Adi32 19.06.2012, 13:38:49 -------------------- Wolałem języki z rodziny C ale poszedłem na łatwizne...
|
|
|
![]()
Post
#13
|
|
![]() Grupa: Zarejestrowani Postów: 709 Pomógł: 176 Dołączył: 24.10.2010 Ostrzeżenie: (0%) ![]() ![]() |
Co do kodu autora to dorzucę jeszcze niekonsekwencję w strukturach raz używasz OR raz || po drugie skoro z jakichś kosmicznych przyczyn musisz wymieszać kod PHP
i html to nie rób pod sobą 50x echo 'coś tam z html'; tylko zamknij php znacznikiem ?> wyrzuć kod html i otwórz <?php Cytat Możesz podać uzasadnienie wraz z jakimś linkiem potwierdzającym? Z tego co pamiętam to tak naprawdę nie miało to żadnego znaczenia znalazłem te strony jako przykład przed czym taka składnia może uchronić http://www.theregister.co.uk/2003/11/07/li...ckdoor_blocked/ http://lkml.indiana.edu/hypermail/linux/ke...311.0/0635.html Oczywiście takich błędów się nie powinno popełniać i tak naprawdę nie ma to wielkiego znaczenia ale jednak zapisanie tego na odwrót nie pozwoliło by skompilować kodu. Co nie zmienia faktu, że składnia true===$var wydaje mi się nienaturalna i raczej nie korzystam z niej. -------------------- http://d3ut3r.wordpress.com/ | mysql_* jest przestarzałe UŻYWAJ PDO!
|
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
Jeśli uznamy że niedawno zatrudniony młodszy koder jest idiotą, i wpisze coś takiego:
To skrypt działa dalej, bez błędów, ale działa źle.
To po prostu wygodne, jak się pracuje w grupie nad kodem który ma kilka tysięcy linijek, a kawa jest za słaba, to bez sensu zastanawiać się "gdzie jest błąd" skoro php nam to powie. To jest dokładnie tak samo jak z zamykaniem kodu znacznikiem ?> na końcu pliku. Każdy zrobi jak uważa, wedle własnej wygody pracy. -------------------- Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta). |
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 178 Pomógł: 49 Dołączył: 16.04.2012 Skąd: Bytom Ostrzeżenie: (0%) ![]() ![]() |
Cytat Stosuj 3 lub 4 spacje, w edytorze zamiast tabulacji. Albo raczej używaj edytora, który zamieni Twoją tabulację na spacje podczas kopiowania kodu na forum ![]() Co do pisania... ... !*! ma rację - przyzwyczajony do takiego zapisu programista, nic nie traci przez taki zapis, a zyskuje łatwiejsze odszukiwanie błędów. Jest to jednak tylko kropla w oceanie zwanym "złe praktyki". Zresztą taki zapis (co zresztą widać po wypowiedziach), może tylko skomplikować sytuację programićie, który nie jest przyzwyczajony do takiego zapisu. Nie sądzę jednak aby to, czy piszemy if($var === false) zamiast if(false === $var) miało jakiś wpływ na przyjęcie do pracy ![]() Tak swoją drogą - takie pytanie do autora... można wiedzieć, jakich zarobków oczekujesz? Ten post edytował Tuminure 19.06.2012, 18:38:12 |
|
|
![]()
Post
#16
|
|
![]() Grupa: Zarejestrowani Postów: 2 707 Pomógł: 290 Dołączył: 16.12.2008 Skąd: Śląsk Ostrzeżenie: (0%) ![]() ![]() |
Jeżeli zmienna jest nieprawdą.
Jeżeli nieprawdą jest zmienna. Pierwsze zdanie wydaje mi się bardziej naturalne, osobiście wole zacząć od zmiennej. Próbka kodu może być na dowolny temat? -------------------- |
|
|
![]()
Post
#17
|
|
Grupa: Zarejestrowani Postów: 496 Pomógł: 2 Dołączył: 15.07.2011 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
ok widzę że narzuciłem ciekawy temat do rozmowy ...
najpierw odpowiem na dwa pytania: 1) tak próbka kodu może być na dowolny temat 2) oczekuję zarobków 2500-3000 zł netto 3) apropo Takiego szefa, który tak programuje - była to firma jednoosobowa, więc byłem sam sobie szefem ... ambicji bycia szefem na razie nie mam, a jak będę to napewno nie z taką wiedzą, więc mam świadomość Apropo odpowiedzi nr. 2 dotyczącej oczekiwanych przeze mnie zarobków to mam świadomość, że z taką próbką kodu i z taką wiedzą programowania w PHP żadna szanująca się firma mnie nie zatrudni, wyśmieje itd. ... ale ... również każda taka szanująca się firma potrafi wziąć pod uwagę, że taki kandydat może nie mieć doświadczenia w pracy właśnie w większej firmie gdzie kod jest tak ładnie poukładany, przez co nie ma nawet pojęcia że takie standardy obowiązują .. i teraz ... ma dwa wyjścia: 1) zatrudnić i przeszkolić/nauczyć jak się powinno programować jeżeli widzi że kandydat jest bardzo ambitny i chce się czegoś nowego nauczyć 2) podziękować A więc zależy gdzie trafisz na rozmowę ... ważne żeby chcieć zmienić nawyki i chcieć się nauczyć czegoś nowego ... ważne czy chce się być bardzo dobrym programistą .. ja takim chcę być i dlatego zamierzam jak najszybciej poprawić wszystkie swoje błędy ... każdy przecież z nas kiedyś zaczynał i nie od razu wiedział o tym wszystkim o czym tutaj teraz piszemy ... to że prowadziłem działalność gospodarczą i wykonywałem aplikacje w taki sposób jak widać, nie znaczy przecież że aplikacje działały źle, wolno itd. powiem krótko ... działały bardzo dobrze ... dodam - aplikacje nie były duże ... dziękuje tutaj jednemu koledze za pocieszenie że w firmach zdarzają się tacy jeszcze programiści ponieważ po dzisiejszej krytyce myślałem że zapadnę się pod ziemię ... ale oczywiście dziękuję za wszystkie uwagi ... Jeśli chodzi o mój obiektowy to jest nieźle ponieważ na studiach w różnych językach programowaliśmy obiektowo ... jednak jakoś tak wyszło że w PHP zostałem przy strukturalnym .. zawsze jednak chciałem to zmienić i pierwszym krokiem miało być właśnie zatrudnienie w jakiejść firmie gdzie wszystkie dobre nawyki by mi pokazali ... Ten post edytował damianooo 19.06.2012, 15:24:02 |
|
|
![]()
Post
#18
|
|
Grupa: Zarejestrowani Postów: 616 Pomógł: 84 Dołączył: 29.11.2006 Skąd: bełchatów Ostrzeżenie: (0%) ![]() ![]() |
w mssql Set nie przejdzie Ten post edytował memory 19.06.2012, 15:17:29 |
|
|
![]()
Post
#19
|
|
![]() Grupa: Zarejestrowani Postów: 1 182 Pomógł: 115 Dołączył: 4.03.2009 Skąd: Myszków Ostrzeżenie: (0%) ![]() ![]() |
Cytat również każda taka szanująca się firma potrafi wziąć pod uwagę, że taki kandydat może nie mieć doświadczenia w pracy właśnie w większej firmie gdzie kod jest tak ładnie poukładany, przez co nie ma nawet pojęcia że takie standardy obowiązują Bzdura, nawet średnio doświadczony amator piszący tylko dla siebie przestrzega pewnych standardów, w przeciwnym wypadku kodu po prostu nie da się później czytać! Od nauki czytelnego programowania są frameworki, które wymuszają jakąś konwencję pisania, przez co dużo trudniej jest to zrobić źle. Ten post edytował Mephistofeles 19.06.2012, 15:38:46 |
|
|
![]()
Post
#20
|
|
Grupa: Zarejestrowani Postów: 1 748 Pomógł: 388 Dołączył: 21.08.2009 Skąd: Gdynia Ostrzeżenie: (0%) ![]() ![]() |
Cytat Jeśli chodzi o mój obiektowy to jest nieźle ponieważ na studiach w różnych językach programowaliśmy obiektowo To, że się dowiedziałeś co to klasa, metoda i konstruktor to nie znaczy, że się nauczyłeś programować obiektowo. Napisać aplikację tak, aby była łatwa do rozbudowy i żeby jej elementy można było wykorzystywać w następnych projektach to bardzo trudna sprawa. Na studiach nie uczą programowania, zostałeś tylko wprowadzony w bardzo podstawowe pojęcia. Programować muisz się nauczyć na własną rękę.Cytat każdy przecież z nas kiedyś zaczynał i nie od razu wiedział o tym wszystkim o czym tutaj teraz piszemy ... to że prowadziłem działalność gospodarczą i wykonywałem aplikacje w taki sposób jak widać, nie znaczy przecież że aplikacje działały źle, wolno itd. powiem krótko ... działały bardzo dobrze ... dodam - aplikacje nie były duże No wiadomo, ale to od Ciebie zależy czy stale zwiększasz swój poziom i jakość usługi czy cały czas robisz to amatorsko i w taki sam sposób. Przy małych stronkach to tam wszystko jedno ale jeśli w taki sposób napiszesz duży serwis, który miałby być stale rozwijany to jak za pół roku miałbyś go rozbudować i podmienić grafikę na nową to byś sobie w łeb strzelił. Przy małych projektach typu zrób i zapomnij nie zderzyłeś się z konsekwencjami i wadami takiego stylu. Dlatego porządne firmy nie przyjmą nikogo z takim stylem pisania. Ponadto jeżeli nie wykształcisz sobie prawdziwych umiejętności, a praca w firmie wcale tego nie gwarantuje, to będzie Ciebie można łatwo zaśąpić i z wiekiem co raz trudniej będzie Ci znaleźć pracę, bo samo doświadczenie bez umiejętności jest nic nie warte. |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 19.07.2025 - 01:44 |