• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Proszę o ocenę pracy

Object Storage Arubacloud
+3 głosów
351 wizyt
pytanie zadane 17 września 2019 w Nasze projekty przez Majonez.exe Gaduła (3,490 p.)

Witajcie, piszę do was ponownie (już pisałem kiedyś i te błędy i pomoce co uzyskałem wykorzystałem i naprawiłem Dziękuje bardzo heart bez was by mnie w programowaniu nie było). Tworzę frameworka, coś taki projekt żeby nauczyć się i żeby może w coś większego go rozwinąć. Proszę o ocenę funkcji ogólnego designu (funkcji i całej strony). Mówią że ładny ma design ale po co ja to robię, powtarzam jeszcze raz żeby się nauczyć, więc nie mówcie mi proszę że klasy rozciągnięte itp. bo to jeszcze muszę się dokładniej nauczyć laugh. Strona całego projektu: https://aurolia-css.github.io . Repo na Github: https://github.com/aurolia-css/aurolia-css.github.io . Dziękuje jeszcze raz wszystkim heart.

1 odpowiedź

0 głosów
odpowiedź 18 września 2019 przez ShiroUmizake Nałogowiec (46,300 p.)
edycja 19 września 2019 przez ShiroUmizake
 
Najlepsza

Przed wszystkim sprzedaj mi jak zrobiłeś efekt ripple do pracy by mi sie przydał, a nic nie mogłem znależć jak to uzyskać :). Tak, nie używamy frameworków. A teraz przejdźmy do projektu, pierwszy plus za to, że jest to coś więcej niż strona portfolio, to zawsze cenię. Związku z tym nie będę oceniał HTML/CSS tylko całość jako framework.

1. trochę dużo rzeczy trzeba importować.

<!-- ICONS -->
<link rel="stylesheet" href="https://aurolia-css.github.io/lib/fontawesome/css/all.css">`
<!-- /ICONS -->

<!-- JQUERY -->
<script src="https://aurolia-css.github.io/download/jquery.min.js"></script>
<script src="https://aurolia-css.github.io/download/jquery-ui.min.js"></script>
<!-- /JQUERY -->

<!-- CSS & JS -->
<script src="https://aurolia-css.github.io/download/aurolia.js" defer></script>
<link rel="stylesheet" href="https://aurolia-css.github.io/download/aurolia.css">
<!-- /CSS & JS -->

jQuery i twój kod można zapakować w jedną paczkę, za pomocą webpacka.

Ikony jak i cssy również da się zrobić w jedną paczkę, tu patrz webpack. Bądź podobne rzeczy.

<script src="https://aurolia-css.github.io/download/aurolia.js" defer></script>

Dlaczego jako defer? Ostatecznie niech użytkownik wstawi na końcu body. Ostatecznie async. Defer może spowodować to, że HTML przestanie się renderować bo trzeba coś z JS-a wczytać.

2. Czemu to nie jest paczka npm? Szybciej jest serwować od siebie, niż z servera github.

3.Masz mnóśtwo plików html, które nie są mi potrzebne do życia. Może warto je schować do docs?

Przejdżmy do środka. Zacznę od mojego ulubionego Vue.

4. Ok..Gdzie tu jest kod? Nie widzę takiego folderu jak /src

5.Przejdę, jednak do pliku aurolia.js. No jest trochę duży.

6.Załóżmy, ze użytkownik nie chcę tego i tego i powiedzmy tego. Twoim przypadku jest to niemożliwe, podzieliłbym to na mniejsze segmenty i zrobiłym to tak Aurolia.use(), jeśli chcialbym użyć w swoim projekcie.

7. Zainstaluj sobie eslinta do projektu. Bo trochę cieżko się czyta.

function toggleClassName(el, className) {
if (el.hasClass(className)) {
el.removeClass(className);
} else {
el.addClass(className);
}
}

jQuery coś takiego ma. https://api.jquery.com/toggleClass/.

(function (root, factory) {
if (typeof define === 'function' && define.amd) {
define(factory);
} else {
root.Dragdealer = factory();
}
}(this, function () {
var Dragdealer = function(wrapper, options) {
this.options = this.applyDefaults(options || {});
this.bindMethods();
this.wrapper = this.getWrapperElement(wrapper);
if (!this.wrapper) {
return;
}
this.handle = this.getHandleElement(this.wrapper, this.options.handleClass);
if (!this.handle) {
return;
}
this.init();
this.bindEventListeners();
};
Dragdealer.prototype = {
defaults: {
disabled: false,
horizontal: true,
vertical: false,
slide: true,
steps: 0,
snap: false,
loose: false,
speed: 0.1,
xPrecision: 0,
yPrecision: 0,
handleClass: 'handle',
css3: true,
activeClass: 'active',
tapping: true


No dobra a jak chciallbym coś zmienić, speed teraz nie mogę to ładnie zmienić. Według mnie powinno wyglądać tak:

new Aurelia().Carousel({speed: 0.2})

i w konstruktorze.

class Carousel {
constructor(properties) {
this.speed = properties.speed || 0.2;
}
}

Powinno zadziałać, gdzieś również powinen być sprawdzany typ danych, jeśli użytkownik przypadkowo wpisał string a my chcemy int.

this.wrapper = this.getWrapperElement(wrapper);
Gdzie jest zmienna wrapper?

W dokumentacji nic takiego się nie pojawia.

if (typeof(wrapper) == 'string')
if (typeof wrapper === 'string')
getWrapperElement: function(wrapper) {
if (typeof(wrapper) == 'string') {
return document.getElementById(wrapper);
} else {
return wrapper;
}
}

z tego wynika, że jak podam 12 to mi coś zwróci, według do przepisania. 

Ok, podaj mi przyklad, kiedy to nie jest string. Bo widzę, że tylko w jednym miejscu jest używana.

(wrapper.getElementsByClassName)

wlaściwie co próbujesz sprawdzić tym warunkiem?

handleClassMatcher = new RegExp('(^|\\s)' + handleClass + '(\\s|$)');
childElements = wrapper.getElementsByTagName('*');
for (i = 0; i < childElements.length; i++) {
if (handleClassMatcher.test(childElements[i].className)) {
return childElements[i];
}

Wydaje mi się, że tak jest łatwiej

wrapper.querySelectorAll(handleClass)

Chyba, że źle rozumiem tą cześć kodu.

I mam dziwne wrażenie, że karuzela nie jest twoja. Zatrzymałem się na 78  linijce, później zerknę co masz dalej.

EDIT: No to przechodzę dalej, Tak jak wspominałem, kod tamtej karuzeli jest słabej jakości. Plus taką galeryjkę można napisać samym CSS ;).

W ciągu dalszym widzę, że tylko 2 miejscach jest wykorzystany jQuery, nie wspominając o jQueryUI. Własciwie możesz wskazać co jest twoje po stronie JS?

 

 

komentarz 19 września 2019 przez Majonez.exe Gaduła (3,490 p.)
To to co robiłeś nie ma prawa nazywać się efektem ripple... to jest po prostu podróba tanim kosztem, polecam użyć JS, lepsze szybsze
komentarz 19 września 2019 przez ShiroUmizake Nałogowiec (46,300 p.)
Kiedyś tworzysz produkty dla 30 milionów osób, liczy się wtedy każda linijka JS :).
komentarz 19 września 2019 przez Majonez.exe Gaduła (3,490 p.)
Tak, ale liczy się też jakość wykonania, a nie brzydki ripple które można zakatować po 2 kliknieciach.
komentarz 19 września 2019 przez ShiroUmizake Nałogowiec (46,300 p.)
To była sonda, mogłeś tylko raz :).
komentarz 19 września 2019 przez Majonez.exe Gaduła (3,490 p.)
Yyyy? coś nie rozumiem

Podobne pytania

0 głosów
1 odpowiedź 181 wizyt
pytanie zadane 5 października 2016 w Rozwój zawodowy, nauka, praca przez Daw Nowicjusz (220 p.)
+2 głosów
2 odpowiedzi 384 wizyt
+2 głosów
2 odpowiedzi 477 wizyt

92,576 zapytań

141,426 odpowiedzi

319,652 komentarzy

61,961 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...