Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

3 Stron V  < 1 2 3  
Reply to this topicStart new topic
> [www]ocena mojego "portfolio"
b4rt3kk
post 29.03.2015, 15:51:15
Post #41





Grupa: Zarejestrowani
Postów: 1 933
Pomógł: 460
Dołączył: 2.04.2010
Skąd: Lublin

Ostrzeżenie: (0%)
-----


Cytat(Janusz1200 @ 29.03.2015, 12:35:02 ) *
@b4rt3kk, to nie jest kod w PHP, bo w PHP "operatorem właściwości" (?) jest -> a nie . , jak napisałem w http://forum.php.pl/index.php?s=&showt...t&p=1151770 ,
w php to byłoby sad()->stop();


Faktycznie, przeoczyłem ten detal.


--------------------
Jeśli pomogłem, kliknij proszę 'pomógł'. Dzięki.
Go to the top of the page
+Quote Post
Posio
post 2.04.2015, 00:55:24
Post #42





Grupa: Zarejestrowani
Postów: 417
Pomógł: 44
Dołączył: 23.06.2011

Ostrzeżenie: (0%)
-----


Cytat(tzm @ 29.03.2015, 13:27:24 ) *
Zrobilem Ci dobrze ?smile.gif polecam sie


Jeb*em ze śmiechu biggrin.gif, You made my day.

Co do kodu, z punktu widzenia programowania, nie powinno się w ogóle pojawić coś takiego, że raz zwraca bool a raz obiekt. No dobra, są typi dynamic itp. ale w gruncie rzeczy, każdy kto trochę programował a nie "programował", dobrze wie że zwracanie wielu typów przez jedną funkcję to pożoga dla ludzi którzy będą pracować na tym kodzie po nas, i dla nas samych po jakimś czasie nie wspominając już o zasadach pisania "dobrego kodu" - nie ważne czy to php/ c++ / java /c#, tak się nie pisze i już (mimo iż wiem, że brak typowania w php bardzo kusi).

Tak więc podsumowując tą dyskusję na temat tego śmiesznego kodu. Tak nie zadziała. Tak się nie robi. Tak jest źle smile.gif

Inna sprawa gdybyśmy pracowali na obiektach i metoda sad() zwracałaby np. instancję innego obiektu zawartego w obiekcie bazowym.

pseudokod
  1. if human->mood->issad
  2. human->mood->sadstop




Go to the top of the page
+Quote Post
com
post 2.04.2015, 13:27:53
Post #43





Grupa: Zarejestrowani
Postów: 3 033
Pomógł: 366
Dołączył: 24.05.2012

Ostrzeżenie: (0%)
-----


@up no owszem nie powinno się ale spójrzmy np na takie PDO. smile.gif
Go to the top of the page
+Quote Post
Posio
post 2.04.2015, 14:54:34
Post #44





Grupa: Zarejestrowani
Postów: 417
Pomógł: 44
Dołączył: 23.06.2011

Ostrzeżenie: (0%)
-----


Cytat(com @ 2.04.2015, 14:27:53 ) *
@up no owszem nie powinno się ale spójrzmy np na takie PDO. smile.gif

A co takiego jest w PDO bo już od bardzo sporego czasu nie miałem styczności z PHP i nie pamiętam ?
Go to the top of the page
+Quote Post
com
post 2.04.2015, 15:07:24
Post #45





Grupa: Zarejestrowani
Postów: 3 033
Pomógł: 366
Dołączył: 24.05.2012

Ostrzeżenie: (0%)
-----


np http://php.net/manual/en/pdo.query.php smile.gif
Go to the top of the page
+Quote Post
Posio
post 2.04.2015, 19:20:15
Post #46





Grupa: Zarejestrowani
Postów: 417
Pomógł: 44
Dołączył: 23.06.2011

Ostrzeżenie: (0%)
-----


No tak... Dla bardziej "dojrzałych" programistów to nie jest fajne, dla dzieciaków to jest fajne. Jak dla mnie to jeden z powodów dla których odstawiłem PHP.
Go to the top of the page
+Quote Post
com
post 2.04.2015, 19:24:55
Post #47





Grupa: Zarejestrowani
Postów: 3 033
Pomógł: 366
Dołączył: 24.05.2012

Ostrzeżenie: (0%)
-----


w 7 idziemy znów w typowanie wiec to się powoli skończy smile.gif
Go to the top of the page
+Quote Post
Janusz1200
post 2.04.2015, 20:18:40
Post #48





Grupa: Zarejestrowani
Postów: 110
Pomógł: 6
Dołączył: 19.12.2010
Skąd: Krzyżanowice

Ostrzeżenie: (0%)
-----


Cytat(Posio @ 2.04.2015, 01:55:24 ) *
Inna sprawa gdybyśmy pracowali na obiektach i metoda sad() zwracałaby np. instancję innego obiektu zawartego w obiekcie bazowym.


Tak, jak jest napisane w omawianym obrazku, nie zadziała w żadnym języku. Pracujemy na obiektach.
Go to the top of the page
+Quote Post
Tuminure
post 3.04.2015, 18:47:57
Post #49





Grupa: Zarejestrowani
Postów: 178
Pomógł: 49
Dołączył: 16.04.2012
Skąd: Bytom

Ostrzeżenie: (0%)
-----


Cytat(Janusz1200 @ 2.04.2015, 21:18:40 ) *
Tak, jak jest napisane w omawianym obrazku, nie zadziała w żadnym języku. Pracujemy na obiektach.

Co się nie da, jak się da?
[JAVASCRIPT] pobierz, plaintext
  1. var secretBoolToObjectSwitch = false,
  2. sad = function() {
  3. if(secretBoolToObjectSwitch) {
  4. return {stop: function() { alert('This is bullshit'); }};
  5. } else {
  6. secretBoolToObjectSwitch = true;
  7. return true;
  8. }
  9. },
  10. beAwesome = function() {
  11. alert('and especially not awesome.');
  12. };
  13.  
  14. if (sad() === true) {
  15. sad().stop();
  16. beAwesome();
  17. }
[JAVASCRIPT] pobierz, plaintext


Ten post edytował Tuminure 3.04.2015, 18:49:16
Go to the top of the page
+Quote Post
Janusz1200
post 3.04.2015, 19:36:57
Post #50





Grupa: Zarejestrowani
Postów: 110
Pomógł: 6
Dołączył: 19.12.2010
Skąd: Krzyżanowice

Ostrzeżenie: (0%)
-----


Faktycznie, da się wstydnis.gif
Go to the top of the page
+Quote Post
tzm
post 3.04.2015, 20:27:01
Post #51





Grupa: Zarejestrowani
Postów: 675
Pomógł: 58
Dołączył: 17.12.2013

Ostrzeżenie: (10%)
X----


Cytat(Tuminure @ 3.04.2015, 19:47:57 ) *
Co się nie da, jak się da?
[JAVASCRIPT] pobierz, plaintext
  1. var secretBoolToObjectSwitch = false,
  2. sad = function() {
  3. if(secretBoolToObjectSwitch) {
  4. return {stop: function() { alert('This is bullshit'); }};
  5. } else {
  6. secretBoolToObjectSwitch = true;
  7. return true;
  8. }
  9. },
  10. beAwesome = function() {
  11. alert('and especially not awesome.');
  12. };
  13.  
  14. if (sad() === true) {
  15. sad().stop();
  16. beAwesome();
  17. }
[JAVASCRIPT] pobierz, plaintext


Ja to trochę prościej widziałem, wręcz bym rzekł - 5 linijek kodu. Ale też spoko. Tezę miałem, dowód się znalazł.
Go to the top of the page
+Quote Post
Tuminure
post 4.04.2015, 09:02:45
Post #52





Grupa: Zarejestrowani
Postów: 178
Pomógł: 49
Dołączył: 16.04.2012
Skąd: Bytom

Ostrzeżenie: (0%)
-----


Zapomniałem jeszcze dodać, że mimo tak krótkiego kodu uznałbym to za dość dobry przykład złych praktyk (a konkretnie zwracanie różnych typów, uzależnianie funkcji/metody od parametrów z zewnątrz, zamiast przekazywania ich do metody).

No i można krócej, pousuwać parę enterów i np. nie deklarować zmiennej. Chciałem jednak zachować czytelność smile.gif.

[JAVASCRIPT] pobierz, plaintext
  1. var sad = function() {
  2. return typeof secretBoolToObjectSwitch !== 'undefined' ? {stop: function(){ alert('This is bullshit')}} : function() { secretBoolToObjectSwitch = true; return true; }();
  3. };
  4. beAwesome = function() { alert('and worse than before.')};
  5.  
  6. if (sad() === true) {
  7. sad().stop();
  8. beAwesome();
  9. }
[JAVASCRIPT] pobierz, plaintext
Go to the top of the page
+Quote Post
tzm
post 4.04.2015, 09:33:47
Post #53





Grupa: Zarejestrowani
Postów: 675
Pomógł: 58
Dołączył: 17.12.2013

Ostrzeżenie: (10%)
X----


A jak w php działają settery i gettery? Nie zwracają wartości deklarowanych poza funkcją? Tez się tak robi.. Przy sliderach dość często.
Go to the top of the page
+Quote Post
Janusz1200
post 4.04.2015, 10:22:21
Post #54





Grupa: Zarejestrowani
Postów: 110
Pomógł: 6
Dołączył: 19.12.2010
Skąd: Krzyżanowice

Ostrzeżenie: (0%)
-----


Cytat(Tuminure @ 4.04.2015, 10:02:45 ) *
przykład złych praktyk


Ja przyspawałem się do myśli, patrząc na ten obrazek, że obiekt nie "modyfikuje się sam", a czeka na modyfikację z zewnątrz. Przy innym założeniu (jak np. w Twoim kodzie) wystarczy tak:

if (sad() === true) {
//już jestem wesoły, nic mi tu nie trzeba z zewnątrz wciskać, pełna hermetyzacja
}

Niemniej jednak teza, że "to nigdy nie zadziała" jest zawsze ryzykowna i nie powinno się jej nigdy stawiać smile.gif
Go to the top of the page
+Quote Post
Beniooo
post 4.04.2015, 12:53:34
Post #55





Grupa: Zarejestrowani
Postów: 260
Pomógł: 26
Dołączył: 26.01.2012
Skąd: Ci to przyszło do głowy?

Ostrzeżenie: (0%)
-----


Chłopaki, taka dyskusja na temat obrazka, podziwiam Was :3


--------------------
Mój post rozwiązał Twój problem? Naciśnij co Ci szkodzi? ;-)
Go to the top of the page
+Quote Post
tzm
post 4.04.2015, 13:20:59
Post #56





Grupa: Zarejestrowani
Postów: 675
Pomógł: 58
Dołączył: 17.12.2013

Ostrzeżenie: (10%)
X----


Studiowałeś? Tu chodziło o tezę i dowód. Jak we wszystkich naukach ścisłych do których programowanie na dzień dzisiejszy jest zaliczane ( swoją drogą nie ogarniam dlaczego biggrin.gif )

@Janusz , przejrzyj sobie kod jakiejś gry w javascripcie bardziej zaawansowanej niż snake czy memory, obiekty same mogą zmieniać wartości i właściwości, dlaczego by nie mogły? zależy teraz czy odróżniamy instancje klasy od obiektu pełnego funkcji, np taka Player{} która mogła a nawet powinna była sprawdzać masę rzeczy w locie.


edit: poza tym w js da się wszystko. zależy od programisty, wyobraźni i doświadczenia w pisaniu.

Ten post edytował tzm 4.04.2015, 13:21:47
Go to the top of the page
+Quote Post
Comandeer
post 12.05.2015, 22:48:06
Post #57





Grupa: Zarejestrowani
Postów: 1 268
Pomógł: 254
Dołączył: 11.06.2009
Skąd: Świętochłowice

Ostrzeżenie: (0%)
-----


Cytat("tzm")
poza tym w js da się wszystko. zależy od programisty, wyobraźni i doświadczenia w pisaniu.

To tak samo jak w CSS - wszak Turing complete wink.gif

Ok, reszta się poznęcała nad treścią, ale jakoś tak nikt się bliżej nie zainteresował stroną techniczną strony. A z racji tego, że to mój konik, pozwolę sobie zauważyć kilka rzeczy wink.gif
  • Kodowanie zostaje zdefiniowane dwukrotnie - raz przy pomocy zapisu z HTML4, a drugi przy pomocy skróconej składni HTML5
  • [rel=shortcut] to dziwactwo IE, więc serwowanie mu ikonki w png nie jest najfortunniejszym pomysłem
  • Czy aby konieczne Ci jest to RocketScript i ogólnie CloudFlare? IMO przerost formy nad treścią

  • Kod
    <img src="up.png" id="arrow" onClick="java script:scrollToTop();">

    Polecam poczytać o tzw. labels w JS + obowiązkowo nieśmiertelny artek porneLa - https://pornel.net/onclick

  • Kod
    <img src="logo.png" width="150px" id="logo">

    Każdy obrazek powinien mieć [alt] - tym bardziej jeśli pełni ważną funkcję, jak logo! Dodatkowo twierdzę, że tego typu rzeczy to nagłówki. Brakuje także odnośnika do strony głównej Twojej witryny

  • Kod
    <div id="spacer" style="height: 100px;"></div>

    Klasyka gatunku wink.gif
  • Fajnie, że próbujesz (albo to CF?) zabezpieczać mail przed botami… problem polega na tym, że mój bot oparty na PhantomJS bez problemu wykona skrypt JS i dobierze się do poprawnego adresu.
  • De facto wszystkie menu powinny być listami - wyjątku nie stanowi tutaj menu w stopce, które również listą być powinno. &bull; można łatwo wcisnąć jako li + li::before
  • Podstrona "about" - polecam do poczytania: http://blog.paciellogroup.com/2013/10/html...cument-outline/

  • Kod
    <ul>
        <li><b>Nazwa:</b> Wartość</li>
    </ul>

    Tego typu struktura o wiele bardziej przywodzi na myśl inny typ listy w HTML - listę definicji
    Kod
    <dl>
        <dt>Nazwa</dt>
        <dd>Wartość</dd>
    </dl>

  • W tym wypadku dodatkowo te informacje kontaktowe otoczyć można w address, gdyż są to dane kontaktowe dotyczące danej strony
  • Podstrona z pracami
    Kod
    <a class="btn btn-default" href="#" role="button" onClick="java script:togglePopup(1, 3);">Szczegóły &raquo;</a>

    To jest po prostu głupota. Polecam sprawdzić jakie wymagania stawia ARIA, gdy chcemy wykorzystać link jako przycisk. Dostawienie [role=button] sprawy nie załatwia - co więcej, pogarsza ją, przedstawiając element jako przycisk, podczas gdy nie udostępnia on odpowiedniej funkcjonalności. W tym wypadku powinien być zastosowany po prostu button, a obsługa kliknięcia wykonana POPRAWNIE, zatem z poziomu JS, nie kodu HTML.
  • Takie pytanie dodatkowe - a co jeśli z różnych względów nie mam obsługi JS w przeglądarce? Czemu domyślnie szczegóły wszystkich zleceń są ukryte? Powinny być wyświetlane i ukrywane przy pomocy techniki .no-js. Owszem, przy wyłączonym JS nie będzie to wyglądało aż tak atrakcyjnie, ale przynajmniej informacje będą dostępne dla wszystkich.
  • Wystawienie oceny
    Kod
    <textarea onclick="java script:clearTextarea(this);"

    Śmieszy to tym bardziej, że przy normalnym polu używasz [placeholder]. Pomijam fakt, że textarea można sfocusować bez udziału myszki, przy czym Twój skrypt spektakularnie się wyglebi
  • Gdzie są etykietki poszczególnych pól formularza, opis działania gwiazdek i [alt] dla obrazków? To są podstawy dostępności!
  • Kod
    <small><small><small>2015-05-12 23:45:15</small></small></small>

    Co tu robi small? Od dat jest time, a small wcale nie służy do pomniejszania rozmiaru czcionki - polecam zajrzeć do specyfikacji HTML5
  • Czemu strzałka powrotu do góry miga? Była tak niefunkcjonalna, że aż trafiła jako filtr do Adblocka…


--------------------
Go to the top of the page
+Quote Post

3 Stron V  < 1 2 3
Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 4.06.2024 - 03:22