Динена кора :)

19 отговора 0 прегледа
#1

Динена кора :)

list<TCHAR*> lst;
list<TCHAR*>::iterator iter;

while(iter!=lst.end());
{
HeapFree(heap,0,(*iter));
iter++;
}

Признавам че е лесно да се обърка човек тук


Pecunia non olet!

Редактирано от 3мeй на

Отговор
в отговор на 3мeй #2

Re: Динена кора :)

Две точкозапетайки не са на място.

Отговор
в отговор на 3мeй #4

А къде го инициализаираш тоя итератор

преди да го заупотребяваш в сравнения и извличания на стойности?

Отговор
в отговор на :-) #5

Re: А къде го инициализаираш тоя итератор

list<TCHAR*> lst;
list<TCHAR*>::iterator iter;


iter=lst.beg();
while(iter!=lst.end());
{
HeapFree(heap,0,(*iter));
iter++;
}

Инициализиран е

Pecunia non olet!

Редактирано от 3мeй на

Отговор
в отговор на 3мeй #6

Какво искаш да кажеш?!

Кво те мъчи, сподели? Нищо объркващо няма.

Без да знам какво те мъчи следните забележки:

1. Не използвай постфикс ++ с итератори ако не се налага (има случаи в които е удобно). Доста по-неефективни са. Напиши един итератор и ще разбереш защо.

2. Не използвай
using namespace std;

Неймспейсовете са измислени именно за да не се цапа глобалния неймспейс.

3. Тук е по-подходящ for цикъл.

4. Не ползвай оператор за присвояване, когато може да ползваш конструктор - става двойна работа. Т.е. присвоявай (пак с iter = list.begin();) директно на реда на който дефинираш.

5. Щом не правиш нищо на *iter ползвай const_iterator.

System Doctor Error:
Your girlfriend is pregnant.
(A)bort, (M)arry, (I)gnore?_
Отговор
в отговор на Colombino #7

Re: Какво искаш да кажеш?!

Ще го кажа добре
объри внимание на ";" след while
Колко е лесно да сбърка човек и да му увисне програмата.Един добър тестер винаги ще те излови .Таман да си помислиш колко си велик .


Извинявай но кода който аз представям се тества от изключителни тестери.такава недомислица няма как де не я хванат.Но лесно се допуска .


Pecunia non olet!
Отговор
в отговор на 3мeй #8

Re: Какво искаш да кажеш?!

Тва не дава ли warning?! С кво го компилираш? Неска съм мноо махмурлия хич не видех.

Редакция: я, верно не дава. Обаче виж колко прав съм бил че е по-удачен for цикъл: ако беше дефинирал променливата в цикъла в блока немаше да се вижда. Даже преди блока да я беше дефинирал поне немаше да влезнеш в безкраен цикъл.

System Doctor Error:
Your girlfriend is pregnant.
(A)bort, (M)arry, (I)gnore?_

Редактирано от Colombino на

Отговор
в отговор на Colombino #9

Re: Какво искаш да кажеш?!

С Visual C 2003
Минава си без всякакъв нишан


Pecunia non olet!
Отговор
в отговор на 3мeй #10

Видех

Мда, видех. Редактирах си отговора.

System Doctor Error:
Your girlfriend is pregnant.
(A)bort, (M)arry, (I)gnore?_
Отговор
в отговор на 3мeй #11

Re: Динена кора :)

Отговора е c#, ама сте твърде горди да си го признаете.

Отговор
в отговор на epa #12

Re: Динена кора :)

Те и за жабата разправяха така преди време, ама ... всяко ,,чудо'' за три дни.

Отговор
в отговор на 3мeй #13

Re: Какво искаш да кажеш?!

В отговор на:

кода, който аз представям се тества от изключителни тестери




Ти сам не си ли го тестваш преди да го предоставиш на тестерите ?????
То за това елементарен юнит тест дето нищо не проверява само вика функцията да направиш и ще го хванеш заради безкрайния цикъл.

Боже, Боже.
Един колега в Университета делеше програмистите на два вида:
1) Едните пишат програма, пускат я с Run и едно тестче и ако то мине - значи всичко работи на 6.
2) Втория вид дори да са сигурни в това, което са написали, я пускат с Debug и премивават редче по редче за да се убедят, че това дето са си мислили са го написали както трябва.

Ти явно не се вписваш в тези стандарти.

Отговор
в отговор на Tweeg #14

Re: Какво искаш да кажеш?!

Тея от първата категория са 'най-добрити'.
ПС: Що не го пуснеш тва като анкета? Ще е интересно какво е съотношението между двете касти.

Отговор
в отговор на Tweeg #15

Re: Какво искаш да кажеш?!

Това което пиша аз рядко се сбъгясва.Естествено че си го тествам може ли иначе.Проблема е че платките и потребителите са на друг континент и от там идват част от проблемите - например в различната ни представа за това как ще изглеждат новите features например.Друга част от проблемите са че от другата страна са се заели да чистят де що бъг има,който в голямата си чест не е мой код - наследен така да се каже.И третата част е че не мога да тествам обективно комуникацията с тенекията (макар че се сетих как да го преодолея това)

ПС
Ужасно лесно е да дрънкаш на едро


Pecunia non olet!
Отговор
в отговор на Colombino #16

Не пречи

И след for да сложи ";"
for( ; ; );{
...
}
все тая е.

Dum loquo hora fugit
Отговор
в отговор на SvetilSfitil #17

Re: Не пречи

Не е все тая. for-а има къде да му дефинираш локален брояч и място за инкрементатор. Никой не оспорва, че може да го ползваш като while, ма аз тогава бих ползвал while. for слагаш като искаш да ползваш поне една от двете екстри - или нема да се компилира, или нема да забие.

System Doctor Error:
Your girlfriend is pregnant.
(A)bort, (M)arry, (I)gnore?_
Отговор
в отговор на :-) #18

Re: Динена кора :)

Е то така поставен въпроса само Левски е вечен...

Отговор
в отговор на Tweeg #19

Re: Какво искаш да кажеш?!

<<<Боже, Боже.
Един колега в Университета делеше програмистите на два вида:
1) Едните пишат програма, пускат я с Run и едно тестче и ако то мине - значи всичко работи на 6.
2) Втория вид дори да са сигурни в това, което са написали, я пускат с Debug и премивават редче по редче за да се убедят, че това дето са си мислили са го написали както трябва.>>>

Много ясно че вариант 1 е правилния, нали и QA-те трябва да си заработят заплатите

Отговор
в отговор на XaMaB #20

Re: Какво искаш да кажеш?!

Да не бъркаш QA с тестер.

Задачата на QA е като види, че правиш 1) да ти нашока канчето и да ти каже да правиш 2), след което да те провери дали наистина си почнал да правиш 2).

Отговор