Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > Web Development
You last visited: Today at 19:43

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



Code Review ~ Python

Discussion on Code Review ~ Python within the Web Development forum part of the Coders Den category.

Reply
 
Old   #1
 
Mad0ck's Avatar
 
elite*gold: 313
Join Date: Oct 2014
Posts: 1,367
Received Thanks: 284
Code Review ~ Python

Schönen Abend !

Ich wollte mir mal Meinungen von anderen über meinen Code einholen.
Bin fest davon überzeugt, dass man selber oft umständliche Sachen, oder Eigenheiten entwickelt die einem selber zu selten bis gar nicht auzfallen.


Darum wie gesagt würd ich mich über jedes Verfügbare Feedback freuen.

Kurze Erklärung:
Das Skript liest userdaten von einem Konfigfile aus, und erstellt je nach angaben einen oder mehrere Accs auf einer Website.
(Die jeweiligen Acc Usernamen werden auf bestehende Existenz geprüft)
Mehr ist es eigentlich nicht ...


Anbei der Code:


Vielen Dank vorab !
Lg
Mad0ck is offline  
Old 10/29/2020, 22:11   #2



 
cypher's Avatar
 
elite*gold: 600
The Black Market: 1061/0/0
Join Date: Sep 2008
Posts: 10,541
Received Thanks: 3,083
Du könntest dein Code ein wenig sauberer gestalten. Ich würde mir Schreibarbeit sparen, wenn du einfach in deiner IDE einen Linter (pylint, flake8) aktivieren würdest. Der wird dir dann ein paar Meldungen um die Ohren schmeißen.

Dein Modul kommt auch ohne eine Klasse aus. Die pythonische Art wäre die Klasse komplett wegzulassen und die Methoden einfach im Modul zu deklarieren. Falls du dennoch die streng objektorientierte Art (á la Java, C#) imitieren möchtest, kannst du deine statischen Methoden innerhalb der Klasse deklarieren:
Code:
@staticmethod
def foo():
    pass
Außerdem würde ich dir folgende Videoreihe empfehlen:
cypher is offline  
Thanks
1 User
Old 10/31/2020, 16:35   #3
 
Mad0ck's Avatar
 
elite*gold: 313
Join Date: Oct 2014
Posts: 1,367
Received Thanks: 284
Quote:
Originally Posted by Cyphernomic View Post
Du könntest dein Code ein wenig sauberer gestalten. Ich würde mir Schreibarbeit sparen, wenn du einfach in deiner IDE einen Linter (pylint, flake8) aktivieren würdest. Der wird dir dann ein paar Meldungen um die Ohren schmeißen.

Dein Modul kommt auch ohne eine Klasse aus. Die pythonische Art wäre die Klasse komplett wegzulassen und die Methoden einfach im Modul zu deklarieren. Falls du dennoch die streng objektorientierte Art (á la Java, C#) imitieren möchtest, kannst du deine statischen Methoden innerhalb der Klasse deklarieren:
Code:
@staticmethod
def foo():
    pass
Außerdem würde ich dir folgende Videoreihe empfehlen:
Mahlzeit !

Vielen Dank für das Feedback.
Ich werd mir die Videoreihe def. ansehen, und nen linter hab ich jetzt =)
Da war ja einiges zu tun haha
Mad0ck is offline  
Old 11/04/2020, 10:23   #4
 
ZKDev's Avatar
 
elite*gold: 0
Join Date: Nov 2017
Posts: 552
Received Thanks: 218
Tach,

1. Du musst bei neueren Python 3 Versionen bei Klassen nicht mehr von Object erben.
Code:
15: class AccountCreator:
+ readability

__________________________________________________

2. Prinzipiell würde ich dir empfehlen mit Python's typing package strengere Typisierung einzubauen.
+ readability
+ maintainability
+ stability


__________________________________________________

3. Das data struct in Zeilen 38 - 52 ist ein no-go meiner Meinung nach. Seit Python 3.8 sind Dataclasses buildin vorhanden, nutze diese! Guckst du

+ readability
+ maintainability


__________________________________________________

4. Stick to Pep8! PyCharm bietet dafür auch eine wunderbare Integration an. Wir leben in einem OpenSource zeitalter, Konventionen sind wichtig, außerdem wird dich jeder erfahrene Entwickler direkt als Vollidiot abstempeln wenn du CamelCase Funktionsnamen in Python wählst. Das ist der schlimmste Pep8 Bruch welchen man sich leisten kann.
Prinzipiell brichst du in dem Snippet viel Pep8, glaube ein Linter wäre wirklich sinnvoll für dich.
+ readability
+ maintainability


__________________________________________________

5. If condition overhead (Zeile 31)
Code:
if accountCheck == True:
das True kannst dir sparen,
Code:
if accountCheck:
reicht
+ readability

__________________________________________________

6. Format strings
Code:
self.sendRequest('https://forsaken-kingdom.com/api/check/account/'+username)
no no no ...
Würde zwar eher zu einer url-factory greifen, aber wenn schon string concatenation dann bitte mit format string
Code:
url = f'https://forsaken-kingdom.com/api/check/account/{username}'
+ readability
if factory: stability


__________________________________________________

7. Zeile 96...
Was sagt Zen of Python bzgl. Fehlerbehandlung?
Quote:
Errors should never pass silently.
Was ist Zen of Python? -> Mach mal eine repl Shell auf und
Code:
import this
__________________________________________________
__________________________________________________

Habe jetzt nicht auf Komplexität oder Patterns geachtet, aber rein stilistisch würdest du kein Code-Review in einem professionellen Umfeld passen.

Nimms mir nicht übel, fail early and hard!
ZKDev is offline  
Thanks
1 User
Old 11/05/2020, 17:49   #5
 
Mad0ck's Avatar
 
elite*gold: 313
Join Date: Oct 2014
Posts: 1,367
Received Thanks: 284
Quote:
Originally Posted by ZKDev View Post
Tach,
Nimms mir nicht übel, fail early and hard!
Auch dir vielen Dank !

Übel nehmen kann ichs dir nicht. Das ist ja das Ziel, dass ich auf Fehler, oder sonstiges aufmerksam gemacht werde.

Danke !
Mad0ck is offline  
Reply


Similar Threads Similar Threads
[Review] Top 3 Clash of clans bot Review!
03/31/2025 - Clash of Clans Hacks, Bots, Cheats & Exploits - 50 Replies
Hello everyone and welcome to my bot review! For several months I have tested different bots for Clash of Clans and I want to give you a short review of each of them! So let’s get started. Clash Of Clans bots are usually on your PC and by using Bluestacks (android emulator), you can login to your CoC account and play directly from your PC! These bots are not installed on your phone! What do the bots do? Most bots automatically train troops for you and attack 24/7 without your base...



All times are GMT +1. The time now is 19:44.


Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2025 elitepvpers All Rights Reserved.