Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [biblioteka] Rounder, Czyli jak round() wywołało frustrację
greycoffey
post
Post #1





Grupa: Zarejestrowani
Postów: 320
Pomógł: 29
Dołączył: 3.04.2010

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


Hej,

sfrustrowany dzisiaj zachowaniem funkcji round() której zaokrąglanie half up i half down nie jest tym, za co się podaje, spłodziłem klasę, która robi to poprawnie. Zawiera interfejs oraz domyślną implementację zaokrąglacza, druga implementacja (oparta na bcmath) właśnie się tworzy (co do tego, macie jakiś pomysł na implementację metod roundHalfEven() i roundHalfOdd() w Pamil\Rounder\BcmathRounder w gałęzi bcmath-support?).

Przykład użycia i kod na GitHubie.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
greycoffey
post
Post #2





Grupa: Zarejestrowani
Postów: 320
Pomógł: 29
Dołączył: 3.04.2010

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


Hej, ogarnąłem się po sylwestrze także mogę odpowiedzieć (IMG:style_emoticons/default/smile.gif)

Co do Roundera, to uważam jednak, że ustatycznienie go było złą decyzją. Trochę się wzorowałem na istniejącej funkcji round, ale niestety biblioteka standardowa w PHP nie jest dobrym wzorcem (IMG:style_emoticons/default/smile.gif) Myślę, że @Crozin ma rację co do tej kwestii. Anyway, podobne opinie co do kobyłowatości i przekombinowania słyszałem wobec Symfony2, które właściwie zapoczątkowało prawdziwy przełom w świecie PHP.

Wersja "odstatyczniona" 2.0 (zgodnie z semantic versioning) prawdopodobnie na dniach wyląduje na Githubie.

Cytat
testów jednostkowych nie zdzierżę bo nie cierpię nadgorliwości

Życzę miłego debugowania, podczas którego zrozumiesz, że nie jest to żadna nadgorliwość, a właściwie niezbędny element każdego kodu. Używając mojej klasy czy pisząc nowe implementacje można się w chwilę upewnić, czy wszystko działa tak jak powinno.
Go to the top of the page
+Quote Post

Posty w temacie
- greycoffey   [biblioteka] Rounder   30.12.2013, 21:28:35
- - gitbejbe   wygląda fajnie, klasa czytelna i zrozumiała. Choci...   31.12.2013, 10:44:49
- - pyro   Wygląda na sensownie skonstruowany kawałek kodu. N...   31.12.2013, 12:10:41
- - destroyerr   Cytatsfrustrowany dzisiaj zachowaniem funkcji roun...   31.12.2013, 12:49:04
- - greycoffey   @gitbejbe, trafiłeś w sedno, czas napisać coś, co ...   31.12.2013, 12:58:25
- - destroyerr   @greycoffey przekonałeś mnie. Za bardzo skupiłem s...   31.12.2013, 13:39:17
- - gitbejbe   @pyro zastosowanie interfejsów i abstrakcji też m...   31.12.2013, 14:52:56
- - greycoffey   @destroyerr, masz rację, przerobiłem Roundera na m...   31.12.2013, 17:09:16
- - Crozin   Drobne uwagi: - implements RounderInterface możesz...   31.12.2013, 17:45:35
- - pyro   Cytat(greycoffey @ 31.12.2013, 12:58...   31.12.2013, 18:20:46
- - lukasz1985   Na tym polega cały nonsens takich przedsięwzięć, ż...   6.01.2014, 16:02:33
- - com   @up to możesz dać choć jeden sensowny powód poco t...   6.01.2014, 16:20:49
- - Crozin   CytatInterfejsy są po to, żeby móc skorzystać z da...   6.01.2014, 16:42:57
|- - pyro   Cytat(Crozin @ 6.01.2014, 16:42:57 ) ...   6.01.2014, 17:26:11
- - lukasz1985   "Klasa abstrakcyjna raczej nie powinna stanow...   8.01.2014, 13:23:34
- - emp   Cytat(Crozin)Klasa abstrakcyjna raczej nie powinna...   8.01.2014, 13:40:38
- - Crozin   CytatKurcze, już w momencie pisania tamtego postu ...   9.01.2014, 11:10:46
- - lukasz1985   Naprawdę wątpię, żeby komuś chciało się do zaokrąg...   9.01.2014, 19:06:15
- - Crozin   CytatNaprawdę wątpię, żeby komuś chciało się do za...   9.01.2014, 19:31:40
- - greycoffey   Hej, ogarnąłem się po sylwestrze także mogę odpowi...   9.01.2014, 20:51:53


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

 



RSS Aktualny czas: 12.10.2025 - 01:23