Now Değerinden Versiyon Numarası Elde Etmek

1 2
05/05/2020, 05:06

accessman

Projenin versiyon numarasını Now() ile yazarsak
v.200505044216
Yazarız. Long değerini yazarsak 
Date kısmı virgülden öncesi
Time kısmı virgülden sonrası olacak.
Soru şu biz bu değerleri mümkün olan en az hane ile göstereceğiz. Kullanacağımız değeri işlemden geçirip mesela 4 haneli bir rakama düşüreceğiz. Ama aynı işlemi beş dakika sonra yapsak şimdikinden daha büyük bir sayı olmalı. Yani şimdi 4576 elde ettik ise beş dakiki sonra en az 4577 olmalı. Yani zaman değerinin istediğimiz formatını alıp eğip büküp işlemden geçirip bir sayı elde edeceğiz. Ama hiçbir zaman bir öncekine eşit veya daha küçük olmayacak. Mesela bir kaç sefer karekökünü almak gibi
Bize ne faydası var. Hiçbir zaman eski versiyon numarasını bilmeye gerek kalmadan hep daha büyük bir versiyon numarası elde edeceğiz
05/05/2020, 10:29

berduş

5dk lik hassasiyetle yapsak bile bu günde 288 farklı değer demektir, 10 günde 2880, 40 günde 10.000den büyük yani 5 haneli bir sayı elde etmek demektir. hangi koşulda olursa olsun bir sayıyı küçültmek demek tam sayıya çevirirken yuvarlamak demektir ve bu da ister istemez veri kaybına dolaysıyla değer tekrarına neden olur bence.
05/05/2020, 10:44

accessman

evet haklısınız resimde 10 sn lik zaman farkında double sayısının ne kadar değiştiği görülüyor

10 dk için fark 0,006944442 demek oluyor
05/05/2020, 11:05

accessman

eğer projenin ilk doğduğu tarihi veya ilk versiyon tarihini const olarak muhafaza edersek  "43956" sayısınını da daha kısa yazabiliriz
bu durum versiyon da ilk versiyon v.0.XXXX olacak. bir ay sonra v.30.XXXX olacak bir yıl sonra v.365.XXXX
05/05/2020, 11:14

ozanakkaya

(05/05/2020, 10:29)berduş yazdı: 5dk lik hassasiyetle yapsak bile bu günde 288 farklı değer demektir, 10 günde 2880, 40 günde 10.000den büyük yani 5 haneli bir sayı elde etmek demektir. hangi koşulda olursa olsun bir sayıyı küçültmek demek tam sayıya çevirirken yuvarlamak demektir ve bu da ister istemez veri kaybına dolaysıyla değer tekrarına neden olur bence.


Bu ve benzeri sebeplerden dolayı versiyon numaraları genellikle 1.8.21 şeklinde oluyor. Versiyon numarasını v 0.5.5 şeklinde yapın. 10 haziranda çıkan versiyonda V 0.6.10 olur.
05/05/2020, 11:15

accessman

eğer dediğiniz gibi 5 dk hassasiyetle güncellemeyi takip etsek  0,003472221 fark olur buda en kötü ihtimalle "," den sonra 3. sayının değiştiğini gösterir
bu durumda beş dakika arayla bile güncellemiş olsa iki versiyon arasında 0,003 lük bir fark var demektir uzun lafın kısası 
bir sene sonraki versiyon numarası --> v.365.123 
on sene sonraki versiyon numarası --> v.3650.265

nasıl sizcede bir versiyon numarası için tahammül edilebilir bir uzunluk mudur?
1 2