Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [inny]Własny framework z auto wstrzykiwaniem
primosz67
post 4.08.2017, 07:28:51
Post #1





Grupa: Zarejestrowani
Postów: 17
Pomógł: 2
Dołączył: 26.10.2013

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


Witam,

Hobbistycznie napisałem własny framework. Czy ktoś mógłby się wypowiedzieć co o nim sądzi.

https://github.com/primosz67/tahona-spark-mvc



Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
nospor
post 4.08.2017, 10:21:34
Post #2





Grupa: Moderatorzy
Postów: 36 457
Pomógł: 6296
Dołączył: 27.12.2004




Skoro piszesz teraz cos od podstaw, to wypadaloby isc z duchem czasu i pisac to juz w php7 a nie stac w starociu.

Unikaj zbednych zagniezdzen
Nie
  1. public function getRootNamespace() {
  2. if ($this->hasMultipleNamespaces()) {
  3. return $this->namespace[0];
  4. } else {
  5. return $this->namespace;
  6. }
  7. }


a:
  1. public function getRootNamespace() {
  2. if ($this->hasMultipleNamespaces()) {
  3. return $this->namespace[0];
  4. }
  5.  
  6. return $this->namespace;
  7. }


Unikaj zbednych linii kodu
Nie
  1. public function getNamespaces() {
  2. if ($this->hasMultipleNamespaces()) {
  3. return $this->namespace;
  4. } else {
  5. return array($this->namespace);
  6. }
  7. }


a:
  1. public function getNamespaces() {
  2. return (array)return $this->namespace;
  3. }



ps: przenosze

edit:
zaprzyjaznij sie z PSR
zaprzyjaznij sie z UNIT TESTS - teraz to podstawa


return isset($obj) && false === is_null($obj);
czemu poprostu nie:
return !is_null($obj);
?

return is_null($obj) || false === isset($obj);
czemu poprostu nie
return is_null($obj);
?

  1.  
  2. public static function getYearsBetween(DateTime $from, DateTime $to) {
  3. $da = new DateTime();
  4. $interval = date_diff($from, $to);
  5. return $interval->y;
  6. }

Po co tworzysz obiekt $da, ktory nigdzie nie jest wykorzystywany? Polecam dobry edytor do pracy, ktore wylapuje takie bledy.
Rowniez przydatny moze byc statyczny analizer, ala PHAN

isExist()
a moze poprostu exist()?

Po co tworzysz kilka funkcji, ktore robia dokladnie to samo?
  1. public static function isExist($directoryPath) {
  2. return file_exists($directoryPath) && is_dir($directoryPath);
  3. }
  4.  
  5. public static function isDirExist($dir) {
  6. return is_dir($dir);
  7. }
  8.  


Na bakier tez jestes z warunkow logicznych
  1. public static function div($a, $b) {
  2. if (empty($a) || empty($b) || $b == 0 || $a == 0) {
  3. return 0;
  4. }
  5. return $a / $b;
  6. }

Przeciez to:
if (empty($a) || empty($b) || $b == 0 || $a == 0)
to jest poprostu to
if (empty($a) || empty($b))

Poza tym jak juz tworzysz funkcje do dzielenia to od kiedy 2/0 daje 0?

Jaki sens maja takie funkcje?
  1. public static function upper() {
  2. return function ($x) {
  3. return strtoupper($x);
  4. };
  5. }
  6.  
  7. public static function trim($string) {
  8. return trim($string);
  9. }

I cala masa innych podobnych?

Dalej juz mi sie nie chce. Idee moze i miales sluszna, ale wykladasz sie na drobnostkach. Jesli pisales to tylko dla nauki to i moze ok. Dla innych celow srednio sie nadaje


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
emp
post 25.08.2017, 08:32:32
Post #3





Grupa: Zarejestrowani
Postów: 195
Pomógł: 14
Dołączył: 12.01.2006
Skąd: Gotham City

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


Cytat(nospor @ 4.08.2017, 09:21:34 ) *
Unikaj zbednych linii kodu
Nie
  1. public function getNamespaces() {
  2. if ($this->hasMultipleNamespaces()) {
  3. return $this->namespace;
  4. } else {
  5. return array($this->namespace);
  6. }
  7. }


a:
  1. public function getNamespaces() {
  2. return (array)return $this->namespace;
  3. }


No tu mnie zaskoczyłeś że wolisz taki nieczytelny "syf" z dwoma returnami w jednej instrukcji. Ja tam stanowczo wole więcej linii kodu jeśli tylko objaśnia to lepiej sam kod i powoduje że kod staje się czytelniejszy. Nie wiem czy dalej cie lubię. Musze to teraz przemyśleć wink.gif


--------------------
Temat zamykam i przenoszę do Bangladeszu.
To jest wiadomość śmierci jeśli ją czytasz to znaczy że pozostało ci 30 sekund życia, więc lepiej zacznij się modlić.
Go to the top of the page
+Quote Post

Posty w temacie
- primosz67   [inny]Własny framework z auto wstrzykiwaniem   4.08.2017, 07:28:51
- - nospor   Skoro piszesz teraz cos od podstaw, to wypadaloby ...   4.08.2017, 10:21:34
|- - primosz67   Cytat(nospor @ 4.08.2017, 11:21:34 ) ...   4.08.2017, 16:00:39
|- - emp   Cytat(nospor @ 4.08.2017, 09:21:34 ) ...   25.08.2017, 08:32:32
- - nospor   CytatO dzięki. korzystam z PHP storm,ale on nie wy...   4.08.2017, 16:07:42
|- - primosz67   Cytat(nospor @ 4.08.2017, 17:07:42 ) ...   4.08.2017, 17:46:30
- - viking   Czemu te klasy nie mają normalnych nazw Spark...   4.08.2017, 17:56:37
|- - primosz67   Cytat(viking @ 4.08.2017, 18:56:37 ) ...   4.08.2017, 18:55:30
- - nospor   CytatNie wiem czy znasz taki termin : syntactic su...   4.08.2017, 20:28:12
|- - primosz67   Cytat(nospor @ 4.08.2017, 21:28:12 ) ...   4.08.2017, 21:20:37
- - nospor   CytatNie. Podkreślam tylko, że w ogóle używanie me...   4.08.2017, 22:36:58
- - com   Sonar jest tak samo do PHP jak do Javy, tylko dorz...   20.08.2017, 14:44:04
|- - primosz67   Cytat(com @ 20.08.2017, 15:44:04 ) So...   23.08.2017, 16:09:46
- - nospor   Cytatcomposer.lock wrzuć do gitignora, bo one w re...   20.08.2017, 15:02:16
- - com   Wersje zależności określone są i tak w właściwym p...   20.08.2017, 16:14:25
- - nospor   Cytati raczej jeśli nie piszemy w Laravelu, to nie...   20.08.2017, 16:16:23
- - com   nospor Ok, w tym wypadku się z Tobą w 100% zgadza...   20.08.2017, 16:42:21
- - nospor   CytatOsobiście locka bym widział tu: https://githu...   20.08.2017, 18:57:45
- - Pyton_000   Tu jest dobrze wyjaśnione: https://stackoverflow.c...   21.08.2017, 06:48:58
- - nospor   Haha, dzieki emp za zwrocenie uwagi. Kopiowalem na...   25.08.2017, 09:24:45
- - emp   Cytat(nospor @ 25.08.2017, 08:24:45 )...   29.08.2017, 11:26:41


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: 26.04.2024 - 23:35