Şu anda değiştirmeye müsait olmayan ama garip/hatalı şeyleri
sürümden sonra bakarken unutmamak için not alıyorum. Varsa ekleyin bildiklerinizi.
This commit is contained in:
@@ -0,0 +1,64 @@
|
|||||||
|
|
||||||
|
Here we take notes of the strange stuff, so we can refactor them after
|
||||||
|
Pardus 2007 release.
|
||||||
|
|
||||||
|
|
||||||
|
==> Locale support
|
||||||
|
* bindtextdomain and textdomain calls are not necessary, because
|
||||||
|
gettext.translation() dont use them.
|
||||||
|
|
||||||
|
* setlocale call is probably necessary for some stuff, but not for
|
||||||
|
message translation, it seems gettext.translation() api looks for
|
||||||
|
environment LC_ALL, LC_MESSAGES anyway.
|
||||||
|
|
||||||
|
* pygettext.py shouldn't be needed at all. Plain xgettext works with
|
||||||
|
python source.
|
||||||
|
|
||||||
|
|
||||||
|
==> Utility functions
|
||||||
|
* sha1_file is suboptimal for binary files and sha1_data has some
|
||||||
|
exception confusion. These two functions should be a lot simpler.
|
||||||
|
|
||||||
|
* get_file_hashes is overly complex and contains strange code like:
|
||||||
|
for r, d, f in os.walk(parent, topdown=False): pass
|
||||||
|
|
||||||
|
* dir_size tries to calculate symlink lengths, this is probably not very
|
||||||
|
helpful, since in most cases, they fit in the inode, and wont take any
|
||||||
|
extra space at all. We can keep the number of file in the index though.
|
||||||
|
That way we can calculate package size + (nr of files * inode size of fs)
|
||||||
|
to give a more correct required disk size.
|
||||||
|
|
||||||
|
* what the heck is unzip there? it is not even used at all and defined like:
|
||||||
|
def unzip(seq):
|
||||||
|
return zip(*seq)
|
||||||
|
|
||||||
|
|
||||||
|
==> code readability
|
||||||
|
* Public functions should contain doc strings.
|
||||||
|
|
||||||
|
* Python builtins like file, list, etc should be avoided in variable names.
|
||||||
|
There is even a file.py module!
|
||||||
|
|
||||||
|
* a,b,c,d,f,r,_i are equally bad.
|
||||||
|
|
||||||
|
* some import'ed modules are not used inside the importer modules, cleanup needed.
|
||||||
|
|
||||||
|
* Would be very good if we can avoid "from x import y" form, it makes it
|
||||||
|
harder to reload modules.
|
||||||
|
|
||||||
|
|
||||||
|
==> exceptions
|
||||||
|
* Current model is bad. Exception names should tell what is the error type. Instead
|
||||||
|
we have one Error exception in every module. If I call pisi.api.install("lala"),
|
||||||
|
I should get pisi.api.PackageNotFound or pisi.install.PackageNotFound or something
|
||||||
|
like that. For every kind of error, you get pisi.api.Error now, and only way to find
|
||||||
|
out exact error is try to parse error string (which is localized).
|
||||||
|
|
||||||
|
* class Exception(Exception) is evil.
|
||||||
|
|
||||||
|
* There shouldn't be a bare Except: clause in pisi modules.
|
||||||
|
|
||||||
|
|
||||||
|
==> database
|
||||||
|
* brr...
|
||||||
|
|
||||||
Reference in New Issue
Block a user