molnaredom / transpy-teszt

0 stars 0 forks source link

Válogatott kódhibák javítása #5

Open molnaredom opened 1 year ago

molnaredom commented 1 year ago
molnaredom commented 1 year ago

Preserved Comments

BUGOK

def teszt(obj, a):  # komment 1
    # k2
    if a == 1:  # k3
        # k4
        return obj.copy()  # k5
    # k6
    # k7
    elif a == 2:
        # k8
        # k9
        return obj.copy()# k10
    elif a == 3:
        # k11
        return obj.copy()  # k12
    # k13
# k14
molnaredom commented 1 year ago

Hiba lapításban megoldása

molnaredom commented 1 year ago

ÁTláthatatlan kód

molnaredom commented 1 year ago

beágyazott if ben lévő kommentek

Azért van, mert először a belső ifen végigmegy

def teszt(obj, a):  # komment 1
    # k2
    if 4==4:
        if a == 1:  # k3
            # k4
            return obj.copy()  # k5
        # k6
        # k7
        elif a == 2:
            # k8
            # k9
            return obj.copy()# k10
        elif a == 3:
            # k11
            return obj.copy()  # k12
        # k13
# k14

először a k3,k4,...k13 értékelődik ki majd ezt elfelejti, és ujracsinálja az egészet a 4==4 es iftől Megoldás : addig ne számolja az ast sorokat, amíg nem számolja a normális sorokat Megoldás amikor már elkészítette az összes ast sort újra végig kell menni egy for ciklussal és csak akkor kell belehelyezni a kommenteket.

molnaredom commented 1 year ago

Indentálási probléma

def teszt(obj, a, b, c):  # k1
    if a == 1:  # k2
            match b:
            # k3
            # k4
                        case 2:
                            return 2  # k5
                        case 3:
                            if c == 4:  # k6
                                print(4)
                            elif c == 5:
                                print(5)
                            return obj.copy()
            # k7
            # k8
                        case 6:
            # k9
                            return obj.copy()
                        case 7:  # k10
            # k11
                            return obj.copy()
                # k11
molnaredom commented 1 year ago

Középen lévő Match

Mivel nem az első sor a match így minden komment félretolódik 1 el

Az ast sorok felreszamolasa miatt dupázódhat az utolsó komment mert az utolso() fuggveny is felrecsuzsik

def teszt(obj, a, b, c):  # k1
    if a == 1:  # k2
        if b == 2:
            print("2")
            # k3
            # k4
            return 2
        elif b == 3:# k5
            if c == 4:
                print(4)  # k6
            elif c == 5:
                print(5)
            return obj.copy()
        elif b == 6:
            # k7
            # k8
            return obj.copy()
        elif b == 7:  # utols # utols
            # utols1
            return obj.copy()  # k102
        # k113
def teszt(obj, a, b, c):  # k1
    if a == 1:  # k2
        match b:
            case 2:
            # k3
            # k4
                print('2')
                return 2  # k5
            case 3:
                if c == 4:  # k6
                    print(4)
                elif c == 5:
                    print(5)
                return obj.copy()
                # k7
                # k8
            case 6:
                return obj.copy()  # utols # utols
                # utols1
            case 7:  # k102
            # k113
                return obj.copy()
        # k113

Megoldás --> feltétel szabása

  if "match" not in sor:
       ast_sorok += 1