PDA

View Full Version : نیازمند کمک در حل سوال دات نتی مصاحبه کننده جهت استخدام در شرکت



ProMohammad
سه شنبه 16 بهمن 1397, 22:14 عصر
با سلام خدمت دوستان عزیز

من چند وقته که ضمن خواندن درس برنامه نویسی و کلاسهای آموزشی موسسات
دنبال کار در شرکت هستم تا تجربه اندوزی کنم
چند هفته هست از این شرکت به اون شرکت جهت مصاحبه حضوری میرم و همگی میگن با شما تماس میگیریم که دریغ از یک تماس خشک و خالی که بگن نخواستیم نیا و حسابی توی ذوقم خورده با این چند سال وقتی که صرف یادگیری این حرفه کردم

امروز یک شرکت رفتم و یک سوال به من دادند تا اگر حل کنم به عنوان کارآموز و بعد استخدام من رو جذب کنند سوال برای کسی که تجربه حرفه ای نداشته و تئوری خوانده مشکل هست و برای شاغلان در این حرفه ساده لطفا من رو یاری کنید تا با حل این سوال از بیکاری خلاص شم

بیشتر دنبال مفاهیم SOLID و ِDependency Injection و استفاده از اینترفیس بودند و Clean Code و نوشتن داکیومنت برای کدها


کسی میدونه ایرادات این کد چیه؟؟






using System;
using System.Collections.Generic;
using System.Data.SqlClient;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.IO;


namespace InterviewTest.Controllers
{
public class EMailController : Controller
{
const string logFile = "log.txt";


// این یک متد است که شناسه یا نام کاربری یکی کاربر را گرفته و
// بعد از جستجو در دیتابیس یک ایمیل برای او ارسال می‌کند.
// سپس این عملیات در یک فایل لاگ ثبت می‌شود.
public ActionResult Index()
{
string connectionString = "Server=myServerAddress;Database=myDataBase;User Id=myUsername;Password = myPassword;";


SqlConnection con = new SqlConnection(connectionString);


con.Open();


SqlCommand cmd = new SqlCommand("select * from tblUsers where id = " + int.Parse(Request.QueryString["id"]) + " or username = '" + Request.QueryString["username"] + "'" , con);
SqlDataReader reader = cmd.ExecuteReader();


reader.Read();


string email = reader.GetString(2);


emailer.Instance.send(email);


FileStream fs = System.IO.File.OpenWrite("c:\\myapp\\" + logFile);
StreamWriter sw = new StreamWriter(fs);


sw.Write(DateTime.Now.ToString() + " sent email to " + email);


fs.Close();


return View();
}


// این یک کلاس است که وظیفه ارسال ایمیل را بر عهده دارد
public class emailer
{
private static emailer instance = null;


public static emailer Instance
{
get {
if (instance == null)
{
instance = new emailer();
}
return instance;
}
}


internal void send(string email) {
try {
// فرض کنید این تکه از کد پیاده سازی شده است
}
catch (Exception ex)
{
Console.Write(ex.ToString());
}
}
}
}
}

voice.of.silence
چهارشنبه 17 بهمن 1397, 08:58 صبح
سلام . اصول solid رعایت نشده.
toplearn.com/courses/90/آموزش-اصول