Клубове Дир.бг
powered by diri.bg
търси в Клубове diri.bg Разширено търсене

Вход
Име
Парола

Клубове
Dir.bg
Взаимопомощ
Горещи теми
Компютри и Интернет
Контакти
Култура и изкуство
Мнения
Наука
Политика, Свят
Спорт
Техника
Градове
Религия и мистика
Фен клубове
Хоби, Развлечения
Общества
Я, архивите са живи
Клубове Дирене Регистрация Кой е тук Въпроси Списък Купувам / Продавам 04:27 04.07.25 
Компютри и Интернет
   >> Програмисти
*Кратък преглед

Страници по тази тема: 1 | 2 | (покажи всички)
Тема Пак да се посмеем на M$нови  
Авторuser (Нерегистриран)
Публикувано20.02.05 20:49



Вижте какво намерих в документацията на .NET Framework 1.1 (

):

----------------------------------------------------------------
HttpFileCollection MyFileCollection;
HttpPostedFile MyFile;
int FileLen;
System.IO.Stream MyStream;

MyFileCollection = Request.Files;
MyFile = MyFileCollection[0];

FileLen = MyFile.ContentLength;
byte[] input = new byte[FileLen];

// Initialize the stream.
MyStream = MyFile.InputStream;

// Read the file into the byte array.
MyStream.Read(input, 0, FileLen);

// Copy the byte array into a string.
for (int Loop1 = 0; Loop1 < FileLen; Loop1++)
MyString = MyString + input[Loop1].ToString();
----------------------------------------------------------------

Ето някои от проблемите, които аз открих и изпратих на MS (дано feedback-а на MSDN-а някой да го чете):

1) In C# local variables should be in camelCase
2) It is bad practice in C# to define the variables before they are actually needed due to increase of their lifetime and span (It is not VB.NET!)
3) Read method could potentially read less than FileLen bytes. It is bad practice to rely that it will read exactly FileLen bytes
4) Concatenation of strings in loop is well-known bad practice - StringBuilder should be used instead
5) There is a method for convertion from byte array to string - Encoding.ASCII.GetBytes(string)
6) Loop1 is the for-loop is great name for a variable
7) "input" is bad name for the byte array that storers the file contents

Мисля този код да го давам за пример как не трябва да се пише код.



Тема Re: Пак да се посмеем на M$нови [re: user]  
Автор Pekoнcтpykтop (бивш МиГ)
Публикувано20.02.05 23:11



Каква сърцераздирателна драма.





Тема Re: Пак да се посмеем на M$нови [re: user]  
Автор Teляka (изодзадзе)
Публикувано21.02.05 00:30



You are my hero!
След твоите разкрития спирам да чета МСДН и отивам да си инсталирам линукс! Майкрософт наистина доказаха, че са зле.

Георги Чорбаджийски президент!

---------------------------------------------
Внимавай в банята, че съм отзад!!!


Тема Re: Пак да се посмеем на M$нови [re: Pekoнcтpykтop]  
Автор __me (новак)
Публикувано21.02.05 00:43



ама и какво заглавие е турнал в тия взривоопасни времена тоя уикенд, само Гуру да се върне от киното да видим какво става... пък като гледам някой вече се е изказал по-долу



Тема Re: Пак да се посмеем на M$нови [re: __me]  
Автор Гypy (бенгбъс драйвър)
Публикувано21.02.05 07:28



Бриджит Джоунс 2 управлява

--
Sometimes the sole purpose of your life is to serve as a warning to others.


Тема Reuse на тематанови [re: user]  
Автор Questor (работник)
Публикувано22.02.05 18:26



Я да 'реюзна' темата -

вижте на какви интересни Шел функции попаднах, добавени в XP да не каже човек, че са някакви останки от едно време:

Като за начало:
SHGetUnreadMailCount Function

Обаче още по-интересно - има и
SHSetUnreadMailCount Function

(да оставим на страна за чий му е това на шела, ама толкова ли няма COM за тия хора...)


След това, от край време WinExec е obsolete и за 16 bit compatibility.
Обаче, следната функция е добавена в Windows XP:

WinExecError Function
-----
Retrieves the error value generated if the WinExec function cannot run a specified application.
Syntax

VOID WinExecError(HWND hwnd,
int error,
LPCTSTR lpstrFileName,
LPCTSTR lpstrTitle
);

И най-интересното, забележете, че връща VOID...

Сигнатура!


Тема Re: Пак да се посмеем на M$ [re: user]  
Автор G.Kreisel ()
Публикувано22.02.05 20:11



Днес ми се наложи да се боря с винапита и ето на какви бисери попадам. Може и да не разбирам ИДЕОЛОГИЯТА която стои зад тях, затова ако бъркам - моля обяснете ми.

Днес, след епични битки с мсдн-а много сериозно се издразних на пълната му безполезност и на следните неща:


BOOL MiniDumpWriteDump(
HANDLE hProcess,
DWORD ProcessId,
HANDLE hFile,
MINIDUMP_TYPE DumpType,
PMINIDUMP_EXCEPTION_INFORMATION ExceptionParam,
PMINIDUMP_USER_STREAM_INFORMATION UserStreamParam,
PMINIDUMP_CALLBACK_INFORMATION CallbackParam
);

hProcess
[in] Handle to the process for which the information is to be generated. This handle must have read and query access.
ProcessId
[in] Identifier of the process for which the information is to be generated.


Не ги разбирам аз тези апита, ама ProcessId не е ли излишно?
Още повече че има и функция: GetProcessId(HANDLE hProcess)
(за която сега ще стане дума (или по-точно за глупостите в мсдн по неин адрес))

Освен това в моята версия на мсдн има следните две функции:


void GetThreadId(
HANDLE Thread
);

If the function succeeds, the return value is the thread identifier of the specified thread.

If the function fails, the return value is zero. To get extended error information, call GetLastError.



void GetProcessId(
HANDLE Process
);

Return Values
If the function succeeds, the return value is the process identifier of the specified process.

If the function fails, the return value is zero. To get extended error information, call GetLastError.


Забелязахте ли как void функции връщат стойност?


В online версията на мсдн вече е оправено.


Сега да споменавам ли как се отваря файл? С CreateFile, което има поне 7 параметъра.
А как се затваря? С CloseHandle !!!
Само не разбирам що не се пише вътре с WriteSocket и не се чете с ReadProcess !

Това само за днес. Добре че такива работи ми се налагат веднъж на няколко години...Дано не се налага повече.

Microsoft is not the answer. It is the question, and the answer is no.

Тема Re: Пак да се посмеем на M$нови [re: user]  
Автор ¤ Wolfheart ¤ (Day-dreamer)
Публикувано22.02.05 20:16



6) Loop1 is the for-loop is great name for a variable

LOL! Май пак стават модерни делфийските имена. Малко небрежно са писали хелпа.

4) Concatenation of strings in loop is well-known bad practice - StringBuilder should be used instead

Обяснявай на някой, който за сефте вижда .НЕТ, какво е StringBuilder. А хелпа със сигурност се чете и от такива.

Редактирано от ¤ Wolfheart ¤ на 22.02.05 20:28.



Тема Re: Пак да се посмеем на M$нови [re: G.Kreisel]  
АвторBarracuda (Нерегистриран)
Публикувано23.02.05 09:07



За CreateFile - ти си хванал функция, която е специфична конкретно за Windows платформата и чрез нея можеш да получиш "малко по-специфичен достъп" до файла (имам предвид, че можеш да ползваш особеностите на NTFS).

Иначе си имаш и fopen, fread и fwrite.

За PID-a и Handle-a на процес - PID-a е глобален уникален за системата идентификатор на процес. Чрез него можеш да получиш (ако имаш права) локален дескриптор (Handle), чрез който можеш да изискаш информация за процеса или да го манипулираш. И тук забележи, чрез interprocess communication ти можеш да прехвърлиш PID-а на даден процес от твоя процес към друг, но този другия няма гаранция, че ще получи достъп за "баране". От друга страна handle-а е локален дескриптор и няма начин да се ползва от друг процес.

Иначе за грешките в MSDN-a съм напълно съгласен - има случай да си блъскам главата с дни за някои по специфични неща (а и MS по newsgroup-ите не отговарят много много за жалост) :-(



Тема 10xнови [re: Barracuda]  
Автор G.Kreisel ()
Публикувано23.02.05 13:35



Мерси за инфото. Имаше файда :) - малко ми просветна. :)
Това рядко се случва по тези клубове :)

Microsoft is not the answer. It is the question, and the answer is no.



Страници по тази тема: 1 | 2 | (покажи всички)
*Кратък преглед
Клуб :  


Clubs.dir.bg е форум за дискусии. Dir.bg не носи отговорност за съдържанието и достоверността на публикуваните в дискусиите материали.

Никаква част от съдържанието на тази страница не може да бъде репродуцирана, записвана или предавана под каквато и да е форма или по какъвто и да е повод без писменото съгласие на Dir.bg
За Забележки, коментари и предложения ползвайте формата за Обратна връзка | Мобилна версия | Потребителско споразумение
© 2006-2025 Dir.bg Всички права запазени.