nyurka: (Default)
[personal profile] nyurka
Нет, я этого не понимаю.
Только-только нашла вроде приличного программера в бывшую контору, вполне даже приличного, приехала сегодня примус починять неработающую функцию проверять и упала.
В элементарном коде -открыл файл, считал, при необходимости дописал, при необходимости стер- ни одной строчки без ошибок.
Без слез не взглянешь.
Причем ошибки тупейшие, типа пытаться результатом fscanf получить EOF.
Если б я не видела его код раньше, решила бы, что писал кретин с признаками шизофрении.
Но я его код видела - вполне даже профессионально.
И что это было???
(deleted comment)

on 2006-12-01 07:13 pm (UTC)
Posted by [identity profile] nyurka.livejournal.com
Очень надеюсь что это так, потому как иначе получается - либо я ни черта не понимаю в людях, либо человек хочет уйти, но покакой-то причине не самостоятельно.
И то и другое мне ужасно не нравится :((

on 2006-12-01 07:15 pm (UTC)
Posted by [identity profile] egorfine.livejournal.com
неадекватность.

on 2006-12-01 07:28 pm (UTC)
Posted by [identity profile] nyurka.livejournal.com
В смысле?
Что бы лично ты подумал в такой ситуации - вот есть человек, ты уверен, что неплохой спец, а он тебе - дважды два восемь, гордо так, ну или что-то подобное?

on 2006-12-01 09:22 pm (UTC)
Posted by [identity profile] cynicanonimus.livejournal.com
У меня был такой кадр. Я устал зверски сегодня, писать - лениво. Хочешь - завтра расскажу.

on 2006-12-02 09:46 am (UTC)
Posted by [identity profile] nyurka.livejournal.com
Хочу, еще как, мне надо с парнем чего-то решать, чтобы сюрприз не получить в самый неподходящий момент.
Принцип-то один, если кто-то не сделает, придется один фиг делать мне :((

on 2006-12-02 12:23 pm (UTC)
Posted by [identity profile] cynicanonimus.livejournal.com
Рассказываю:

Был у меня такой орел. Сокол даже. Он просто зазубрил то, что его спросили на интервью (как он узнал - другая история), показав вполне приемлемый процент незнания. В дальнейшей работе оказался абсолютно непригодным профессионально, был уволен с испытательного срока.

on 2006-12-02 12:59 pm (UTC)
Posted by [identity profile] elenamrtnv.livejournal.com
Не думаю, что это такой же случай, он же уже месяца 2 у нас работает и до сих пор не было проблем, с другой стороны он и на чистом С до сих пор при мне ни разу не писал, в основном MFC, но я плохо себе представляю человека, знающего С++ и делающего такую хню на С.
Если честно у меня уже подозрение, что это просто демонстрация перед чем-то.
Блин, я этого-то искала почти полгода, где я нового найду.
Ты просто не представляешь квалификацию современных израильских программеров со стажем до 2 лет - это, блин, трехмесячные курсы и куча гонора, а за больший стаж начальство платить не желает :(((

on 2006-12-02 05:56 pm (UTC)
Posted by [identity profile] cynicanonimus.livejournal.com
Не представляю, ибо никогда не был в вашей стране. :)

on 2006-12-02 01:07 pm (UTC)
Posted by [identity profile] nyurka.livejournal.com
Сорри, это я, конечно ниже была, просто сестре ЖЖ открываем, ну и забылась :)))

on 2006-12-03 01:07 pm (UTC)
Posted by [identity profile] egorfine.livejournal.com
по долгу службы я регулярно оказываюсь в такой ситуации.

ведь откуда мы можем знать что "он - неплохой спец"? Есть два варианта. Или по совместной работе с ним (1), или по впечатлению (2). Если он мне говорит что 2х2=8 в случае (2), то это - каждый день. Впечатление создается невербалистикой и является эмоциональной категорией. Если он твердо знает, что 2х2=8, и уверен в себе и уверен в том, что это знание сакрально - он будет этой уверенностью заражать других людей и слыть "неплохим спецом". Это вот и есть тот неадекват, с которым я часто встречаюсь. Очень часто. Таких людей приходится с радостью выбрасывать.

Если он утверждает что 2х2=8 в случае (1), то имеем дело со сгоревшим профессионалом. И такое бывает, когда реально неплохой спец теряет способность к развитию и все, начинает падать. Таких людей приходится с сожалением выбрасывать.

on 2006-12-01 09:24 pm (UTC)
Posted by [identity profile] e-kolo.livejournal.com
Может, просто заклинило человека. Элементарный код иногда так много ошибок рождает..

on 2006-12-02 09:49 am (UTC)
Posted by [identity profile] nyurka.livejournal.com
Все может быть, но такие странные ошибки...

on 2007-01-04 12:22 pm (UTC)
Posted by [identity profile] sashf.livejournal.com
"Причем ошибки тупейшие, типа пытаться результатом fscanf получить EOF."

Абсолютно согласен! И самое обидное что таким идиотам дают MSDN писать ;))))))


Function Required Header Compatibility
fscanf
[Error: Irreparable invalid markup ('<stdio.h>') in entry. Owner must fix manually. Raw contents below.]

"Причем ошибки тупейшие, типа пытаться результатом fscanf получить EOF."

Абсолютно согласен! И самое обидное что таким идиотам дают MSDN писать ;))))))


Function Required Header Compatibility
fscanf <stdio.h> ANSI, Win 95, Win NT
fwscanf <stdio.h> or <wchar.h> ANSI, Win 95, Win NT


For additional compatibility information, see Compatibility in the Introduction.

Libraries

LIBC.LIB Single thread static library, retail version
LIBCMT.LIB Multithread static library, retail version
MSVCRT.LIB Import library for MSVCRT.DLL, retail version

Return Value

Each of these functions returns the number of fields successfully converted and assigned; the return value does not include fields that were read but not assigned. A return value of 0 indicates that no fields were assigned. If an error occurs, or if the end of the file stream is reached before the first conversion, the return value is EOF for fscanf or WEOF for fwscanf.

on 2007-01-04 12:32 pm (UTC)
Posted by [identity profile] nyurka.livejournal.com
Вообще-то речь шла несколько про другое - нахождением метки EOF определить считано что-нибудь с файла или нет.
И таки попробуйте написать пример для сего опуса, потом поглядим, ОК?

on 2007-01-04 01:18 pm (UTC)
Posted by [identity profile] sashf.livejournal.com
Извините, я написал о том, что было написано, а не о другом ;)

"пытаться результатом fscanf получить EOF" - не ошибка - если верить документации ;). Ну да бог с ним ;)

Можно вопрос? Что значит "нахождением метки EOF"? ;)


on 2007-01-04 01:26 pm (UTC)
Posted by [identity profile] nyurka.livejournal.com
Ну если написан текст "типа пытаться результатом fscanf получить EOF", наверное первая мысль это что-то типа такого кода
if(fscanf(file,"%d %d %d", &n1, &n2, &n3) != EOF)
{
сделай чего-нибудь умное
}
не?
Давайте мы не будем упражняться в остроумии, у меня опыта все-таки чуть больше, напишите чисто для себя вот такой примерчик и посмотрите как себя поведят тот самый fscanf и уверены ли Вы, что полученный результат будет совпадать с ожидаемым по MSDN

И таки спасибо, пожалуй я этот вопрос включу в опросник для собеседований.

on 2007-01-04 02:43 pm (UTC)
Posted by [identity profile] starter2005.livejournal.com
Написал примерчик:

#include <stdio.h>

int main(int argc, char *argv[])
{
FILE *f = fopen("fscanf_test.txt", "r");
if(f)
{
int flag = 1;
int n1, n2, n3, retVal;
while(flag)
{
if((retVal=fscanf(f, "%d %d %d", &n1, &n2, &n3)) != EOF)
printf("n1 = %d, n2 = %d, n3 = %d [retVal = %d]\n", n1, n2, n3, retVal);
else
flag = 0;
}
}
return 0;
}

Файл fscanf_test.txt для примера:
1 2 3
4 5 6
7

Output:
n1 = 1, n2 = 2, n3 = 3 [retVal = 3]
n1 = 4, n2 = 5, n3 = 6 [retVal = 3]
n1 = 7, n2 = 5, n3 = 6 [retVal = 1]

В чём проблема?

on 2007-01-04 02:55 pm (UTC)
Posted by [identity profile] starter2005.livejournal.com
там внутрь if(f) добавочка в конец:
fclose(f);

on 2007-01-04 03:04 pm (UTC)
Posted by [identity profile] nyurka.livejournal.com
Проблема очень простая -
Во-первых - Вы проверяете что именно Вы получаете из fscanf.
И только после этого идет проверка на EOF, не?
Это несколько отличается от того, что я написала, не правда ли?
Если бы изначально в коде сего вьюноши был такой текст, то и поста бы не было.

Во-вторых - Поэксперементируйте с этим кодом, скажем в двух трейдах написать-считать-стереть-создать с одним и тем же файлом и поймете, что не все так уж примитивно :))

on 2007-01-04 03:32 pm (UTC)
Posted by [identity profile] starter2005.livejournal.com
1. я проверяю return value из fscanf, не больше и не меньше, можно убрать retVal.
2. синхронизированный доступ к файлу позволяет выполнять требуемые операции из более чем 1 thread

on 2007-01-04 03:41 pm (UTC)
Posted by [identity profile] nyurka.livejournal.com
1. Если ты уберешь retVal, и в теле if будет какая-нибудь функция, использующая значения n1 n2 и n3 - что ты получишь в последней строчке?
А теперь представь, что положим n1 и n2 к примеру координаты машины, а n3 - улица на которой эту машину будут искать и данные обновляются раз в полчаса - куда мы службу помощи ушлем в последнем варианте????

2. Смотри, ошибка большинства начинающих программеров - они всегда считают, что все будет идеально.
Представь ситуацию - обычная функция, пишет что-то в файл, закрывает и считывает что написано.
А теперь представь, что по какой-то причине файл не закрылся - причин может быть миллион, и тут вступает твоя функция. Угадай результаты :)))

(no subject)

Posted by (Anonymous) - on 2007-01-04 04:01 pm (UTC) - Expand

(no subject)

Posted by [identity profile] starter2005.livejournal.com - on 2007-01-04 04:02 pm (UTC) - Expand

(no subject)

Posted by [identity profile] nyurka.livejournal.com - on 2007-01-04 04:11 pm (UTC) - Expand

(no subject)

Posted by [identity profile] starter2005.livejournal.com - on 2007-01-04 09:05 pm (UTC) - Expand

(no subject)

Posted by [identity profile] nyurka.livejournal.com - on 2007-01-05 10:44 am (UTC) - Expand

(no subject)

Posted by [identity profile] starter2005.livejournal.com - on 2007-01-06 08:24 am (UTC) - Expand

Ничего личного :))

Posted by [identity profile] nyurka.livejournal.com - on 2007-01-06 11:08 am (UTC) - Expand

Re: Ничего личного :))

Posted by [identity profile] nyurka.livejournal.com - on 2007-01-06 01:49 pm (UTC) - Expand

on 2007-01-04 02:50 pm (UTC)
Posted by (Anonymous)
Вы не поверите, это заговор! Компайлер майкрософт писал тот-же идиот ;)

int main(int argc, char* argv[])
{
FILE *file = NULL;
int n1,n2,n3;

file = fopen( "myTest.txt", "w+" );

if(NULL != file)
{
if(EOF == fscanf(file,"%d %d %d", &n1, &n2, &n3))
{
printf("we will never go here , MSDN is bad!! ");
}
}
return 0;
}


Можно всё-же ответ на вопрос? Что значит "нахождением метки EOF"? ;)


on 2007-01-04 03:08 pm (UTC)
Posted by [identity profile] nyurka.livejournal.com
Вы не поверите, но было такое время когда EOF действительно было меткой, которую писали физически :)))))))))))
У меня просто осталась привычка :))
А по поводу fscanf посмотрите предыдущий ответ - и еще раз - возьмите, поэксперементируйте, мне это не надо, а вот Вам пригодится :)))

(no subject)

Posted by [identity profile] sashf.livejournal.com - on 2007-01-05 11:50 am (UTC) - Expand

(no subject)

Posted by [identity profile] nyurka.livejournal.com - on 2007-01-05 07:12 pm (UTC) - Expand

(no subject)

Posted by [identity profile] nyurka.livejournal.com - on 2007-01-05 08:00 pm (UTC) - Expand

Profile

nyurka: (Default)
nyurka

January 2013

S M T W T F S
   1 2345
6789101112
13141516171819
20212223242526
2728293031  

Style Credit

Expand Cut Tags

No cut tags
Page generated Mar. 23rd, 2026 06:55 pm
Powered by Dreamwidth Studios