Skocz do zawartości
Zamknięcie Forum PC LAB

Szanowny Użytkowniku,

Informujemy, że za 30 dni tj. 30 listopada 2024 r. serwis internetowy Forum PC LAB zostanie zamknięty.

Administrator Serwisu Forum PC LAB - Ringier Axel Springer Polska sp. z o.o. z siedzibą w Warszawie: wypowiada całość usług Serwisu Forum PC LAB z zachowaniem miesięcznego okresu wypowiedzenia.

Administrator Serwisu Forum PC LAB informuje, że:

  1. Z dniem 29 listopada 2024 r. zakończy się świadczenie wszystkich usług Serwisu Forum PC LAB. Ważną przyczyną uzasadniającą wypowiedzenie jest zamknięcie Serwisu Forum PC LAB
  2. Dotychczas zamowione przez Użytkownika usługi Serwisu Forum PC LAB będą świadczone w okresie wypowiedzenia tj. do dnia 29 listopada 2024 r.
  3. Po ogłoszeniu zamknięcia Serwisu Forum od dnia 30 października 2024 r. zakładanie nowych kont w serwisie Forum PC LAB nie będzie możliwe
  4. Wraz z zamknięciem Serwisu Forum PC LAB, tj. dnia 29 listopada 2024 r. nie będzie już dostępny katalog treści Forum PC LAB. Do tego czasu Użytkownicy Forum PC LAB mają dostęp do swoich treści w zakładce "Profil", gdzie mają możliwość ich skopiowania lub archiwizowania w formie screenshotów.
  5. Administrator danych osobowych Użytkowników - Ringier Axel Springer Polska sp. z o.o. z siedzibą w Warszawie zapewnia realizację praw podmiotów danych osobowych przez cały okres świadczenia usług Serwisu Forum PC LAB. Szczegółowe informacje znajdziesz w Polityce Prywatności

Administrator informuje, iż wraz z zamknięciem Serwisu Forum PC LAB, dane osobowe Użytkowników Serwisu Forum PC LAB zostaną trwale usunięte ze względu na brak podstawy ich dalszego przetwarzania. Proces trwałego usuwania danych z kopii zapasowych może przekroczyć termin zamknięcia Forum PC LAB o kilka miesięcy. Wyjątek może stanowić przetwarzanie danych użytkownika do czasu zakończenia toczących się postepowań.

Temat został przeniesiony do archiwum

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

different

Kalkulator inżynierski - do oceny

Rekomendowane odpowiedzi

Cześć,

tak hobbystycznie chciałem zrobić sobie kalkulator / apke, w swojej zawodowej branży (projektowanie instalacji sanitarnych i mechanicznych). Na stronie niektórych producentów były różne kalkulatory, ale często tak, że jeden nie miał takiej rury, albo czynnik to był tylko woda, a chciałem liczyć na glikolu itp. Ponadto chciałem, aby strona działała dobrze na telefonach (była responsywna). Najważniejszym dla mnie celem było takie zakodowanie, aby obliczenia wykonywały się w locie (onChange, onKeyUp). Żeby nie trzeba było za każdym razem uciekać myszką z pola, żeby kliknąć jakiś przycisk oblicz. Aby obliczenia robić szybko za pomocą paru kliknięć.

 

jestem samoukiem. Użyłem JS, HTML, CSSA. W całości korzystałem z materializeCSS, bo nie mam zmysłu kreatywnego/artystycznego.

 

 

Przejrzystość kodu jest pewnie tragiczna, bo to pierwsze moje "coś" które wisi w sieci. Ale chętnie posłucham jakiś uwag.

 

link do kalkulatora

 

kalkulatorpro.pl

 

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

A link do kodu? :D

 

Ogólnie niezbyt intuicyjne są te buttonu, które maja przekierowywać do konkretnej podstrony z formularzem. Wedlug mnie sa w zlym miejscu, są za małe, a text ( ... ) nijak nie mówi mi ze przejdę do kalkulatora :D

 

.wynikiWoda .card-content {
 ...
}

 

Tak się czepiam, ale lepiej się to czyta gdy wszystko jest w jednym języku. Wiem, że czasami się nie da i trzeba użyć pol-englisha, ale warto próbować :)

 

 

 

$(document).ready(function () {
       $(".tooltipped").tooltip();
   });

   $(document).ready(function () {
       $("select").formSelect();
   });
   $(document).ready(function () {
       $(".sidenav").sidenav();
   });

   $(function () {
       $("#header").load("header.html");
       $("#footer").load("footer.html");
   });
   $(document).ready(function () {
       $('.modal').modal();
   });

 

 

Proponuje:

   $(document).ready(function () {
       $(".tooltipped").tooltip();
       $("select").formSelect();
       $(".sidenav").sidenav();
       $("#header").load("header.html");
       $("#footer").load("footer.html");
       $('.modal').modal();
   });

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

A link do kodu? :D

 

Ogólnie niezbyt intuicyjne są te buttonu, które maja przekierowywać do konkretnej podstrony z formularzem. Wedlug mnie sa w zlym miejscu, są za małe, a text ( ... ) nijak nie mówi mi ze przejdę do kalkulatora :D

 

 

F12 -> źródła

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

F12 -> źródła

Wiem, ale jednak w IDE się lepiej robi code review.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

var obliczSpadek = function () {

   document.getElementById("wyniki").innerHTML = "";
   predkoscTab = [];
   spadekTab = [];
   rury = document.getElementById("chropowatoscBezwzgledna").value;
   tablicaSrednic = [];
   tablicaNominalnych = [];
   if (rury == 0.1 || rury == 0.15 || rury == 0.25) {
     tablicaSrednic = rurySrednicaWew;
     tablicaNominalnych = rurySrednicaNominalna;
   } else if (rury == 0.007001) {
     tablicaSrednic = ruryPPWew;
     tablicaNominalnych = ruryPPNomin;
   } else if (rury == 0.007002) {
     tablicaSrednic = ruryPexWew;
     tablicaNominalnych = ruryPexNomin;
   }

   for (let i = 0; i < tablicaSrednic.length; i++) {
     var przeplyw = document.getElementById("przeplyw").value;
     if (przeplyw == 0) {
       break;
     }
     var chropowatoscBezwzgledna = document.getElementById(
       "chropowatoscBezwzgledna"
     ).value;
     var srednica = tablicaSrednic[i];
     var temperatura = document.getElementById("temperatura").value;
     if (temperatura > 100) {
       temperatura = 100;
       document.getElementById("temperatura").value = 100;
     } else if (temperatura < 0) {
       temperatura = 0;
       document.getElementById("temperatura").value = 0;
     }
     var czynnikWartosc = document.getElementById("czynnik").value;
     var predkosc = liczPredkosc(przeplyw, srednica);
     var gestoscWody = liczGestoscWody(temperatura);
     if (czynnikWartosc == 4.2) {
       var lepkosc = liczlepkoscKinematycznaWody(temperatura);
     } else {
       var lepkosc = liczLepkoscKinematycznaGlikoluEtyl(
         temperatura,
         czynnikWartosc
       );
     }

     var reynolds = liczReynolds(predkosc, srednica, lepkosc);
     var lambda = liczWspOporowLambda(
       chropowatoscBezwzgledna,
       reynolds,
       srednica
     );
     var spadekLiniowy = liczSpadekLiniowy(
       lambda,
       srednica,
       predkosc,
       temperatura
     );

     // console.log(lambda +"  " + srednica +"  " + zaokraglijLiczbe(spadekLiniowy));
     // console.log("srednica "+ rurySrednicaNominalna[i] +" predkosc "+zaokraglijLiczbe(predkosc,2) );

     predkoscTab.push(zaokraglijLiczbe(predkosc, 2));
     spadekTab.push(zaokraglijLiczbe(spadekLiniowy, 2));
   }

   for (var i = 0; i < spadekTab.length; i++) {
     if (spadekTab[i] < 180) {
       for (let j = 2; j > -3; j--) {
         if (i - j >= 0 && i - j < spadekTab.length) {
           var wynikDOM = document.createElement("p");
           if (j > 0) {
             wynikDOM.className = "red-text text-darken-2";
           }
           var spadekString = zaokraglijLiczbe(spadekTab[i - j], 2).toString();
           var wynikWartosc = document.createTextNode(
             tablicaNominalnych[i - j].toString() +
             " - " +
             spadekString +
             " Pa/m" +
             " | " +
             " w= " +
             zaokraglijLiczbe(predkoscTab[i - j], 2) +
             " m/s"
           );

           wynikDOM.appendChild(wynikWartosc);
           document.getElementById("wyniki").appendChild(wynikDOM);
           document.getElementById("wyniki").classList.add("wynikiRamka")
         }
       }
       break;
     }
   }
 };

Ta metoda jest straszna, przydałby się refactor i rozbicie jej na kilka metod.

 

Jeszcze jedna uwaga, ogólnie jeszcze dobrym nawykiem jest separacja HTML, CSS, i JSa, dlatego zerknij na zdarzenia.

 

Zamiast

<input class="form-control" type="number" value="0" id="umywalka" onclick="selectText(this)" onkeyup="liczQ()">

 

Lepiej odseparowac JS'a od HTMLa i wykorzystać zdarzenia

document.getElementById("umywalka").addEventListener("click", function() {selectText(this)});

Albo za pomocą jQuery

$("#umywalka")
     .click(function(){ selectText(this) })
     .keyup(function(){liczQ()});

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Dzięki :) za pomocne wskazówki.

 

Ta potworna funkcja, została przeze mnie napisana daaawno temu na moje szybkie potrzeby w obliczeniach (nie było strony, tylko lokalnie sobie liczyłem). I jak zabrałem się za tworzenie tego, aby wrzucić w neta, to stwierdziłem, że zabiorę się za inne moduły, a to poprawie później. No i oczywiście chciałem to czym prędzej opublikować i zostało jak jest. Szczerze mówiąc boję się do tego usiąść, żeby to jakoś zmienić.

 

 

Dzięki za redę, żeby nie wpisywać eventów w htmlu "onCośtam" tylko dodawać eventy w js.

 

W planach mam przerobienie tego na angielskie nazwy zmiennych i funkcji, ale że jest to robione hobbystycznie, to czasu nie ma, za bardzo.

A jeśli chodzi o poziom tych wypocin, to rozumiem, że do juniora to daleko jeszcze?

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Nie mam pojęcia, na frontendowca chyba za mało, w wymaganiach często jest jakiś framework. React/Angular/Vue.

 

Do mojej firmy było by za mało, ja znalazlem robotę znając jako tako JS'a, Angulara, Jave + Spring i Linuxa.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

  • Ostatnio przeglądający   0 użytkowników

    Brak zarejestrowanych użytkowników przeglądających tę stronę.

×
×
  • Dodaj nową pozycję...