Hej , i wrote a Download Function and i wanted to know is my code Clean, Readable, maintainable? Or could i make things easier ? Please tell me if this Function could be in the Real World somewhere? public static void Download(Uri _downloadUri, string _path, string _passedSong, Song _currentObj) { if (_downloadUri != null) { if (!string.IsNullOrEmpty(_path) && !string.IsNullOrEmpty(_passedSong)) { try { var downloadedData = new byte[0]; var webReq = WebRequest.Create(_downloadUri); using (var webResponse = webReq.GetResponse()) { using (var dataStream = webResponse.GetResponseStream()) { //Download chuncks byte[] dataBuffer = new byte[1024]; //Get size int dataLength = (int) webResponse.ContentLength; ByteArgs byteArgs = new ByteArgs(); byteArgs.downloaded = 0; byteArgs.total = dataLength; if (_bytesDownloaded != null) { _bytesDownloaded(byteArgs, _currentObj); } //Download using (var memoryStream = new MemoryStream()) { while (true) { int bytesFromStream = dataStream.Read(dataBuffer, 0, dataBuffer.Length); if (bytesFromStream == 0) { byteArgs.downloaded = dataLength; byteArgs.total = dataLength; if (_bytesDownloaded != null) { _bytesDownloaded(byteArgs, _currentObj); } //Download complete break; } else { //Write the downloaded data memoryStream.Write(dataBuffer, 0, bytesFromStream); byteArgs.downloaded = bytesFromStream; byteArgs.total = dataLength; // for download progressbar if (_bytesDownloaded != null) { _bytesDownloaded(byteArgs, _currentObj); } } } //Convert to byte array downloadedData = memoryStream.ToArray(); //Write bytes to the specified file if (Directory.Exists(Settings.Default.downloadDirectory)) { using (var newFile = new FileStream(_path, FileMode.Create)) { newFile.Write(downloadedData, 0, downloadedData.Length); } } } } } } catch(Exception ex) { ExceptionLog.LogException(ex, "Download()", "in GeneralSettings.cs"); } } } } Sorry English is not my Native language.