Loading...

Във форума е въведено ограничение, което позволява на потребителите единствено да разглеждат публикуваните въпроси.

SvilenPavlov avatar SvilenPavlov 11 Точки

[Exercises: Functions, Triggers and Transactions ] Problem 9. Employees with Three Projects

Здравейте!

 

Има грешка в условието на задачата. 

"If the employee has more than 3 projects" пише в условието, докато джъдж очаква код съответстващ на тескта "If the employee has 3 or more projects".


Страхотни сте в СофтУни, но моля Ви спрете да ни губите времето, пишейки условията на грешен английски. В лекциите всички лектори наблягат на факта, че без английски няма да станем програмисти и точно във условията да има такива грешки е абсурдно. 

Благодаря!

Тагове:
0
Module: C# DB
TeodorStefanovPld avatar TeodorStefanovPld 1274 Точки

If the employee has more than 3 projects"

това си е коректно... А защо е такъв текста е нарочно :Д на работа е по-зле. Карат ви да мислите логично и за edge cases

ако той има повече от 3 значи ще има и 3 проекта логично е да се сетите да вземете и тези с =3. 

Като ти дойде бизнеса и каже искам тея данни и след 2 дена се сети че иска и тези който са в случая = 3. Ти ако си мислиш логично и се подготовиш си спестяваш драмата да се разправяш с хора за който кода е магия.

-2
willystyle avatar willystyle 2472 Точки

"ако той има повече от 3 значи ще има и 3 проекта логично е да се сетите да вземете и тези с =3. " и това наричаш логика? На мен ми звучи като логиката на Божинката :)

P.S. Относно грешката в условието, мисля, че е субективно, докато не дадеш точния линк към условие и джъдж, понеже форума гъмжи от хора през 10 поста дето са открили грешки в условията, но 99% се оказват нещо неразбрали.

1
03/08/2019 20:59:45
TeodorStefanovPld avatar TeodorStefanovPld 1274 Точки

Ами реалноста е по-страшна,може и така да ти звучи но хората от бизнеса за който пишем софтуера са още по-страшни.. За 6 месеца вече толкова историй мога да разкажа че е плашещо

0
SvilenPavlov avatar SvilenPavlov 11 Точки

Не е логично за мен. Ясно е че хората не сме перфектни и на работа ще са объркани условията. 
Тук обаче очаквам да се учим да кодим не на психология на клиента. 
Нямам мозък в момента да кажа нещо конкретно, просто аргумента ти, че и на работа ще ни бъркат условията абс не важи в дадения контекст.

0
willystyle avatar willystyle 2472 Точки

И къде е проблема в условието? Според мен е коректно, при транзакции > maxEmployeeProjectsCount ( в случая 3) хвърля грешка и прави ролбек.

CREATE PROCEDURE usp_AssignProject (@employeeID int, @projectID int)
AS
BEGIN
  DECLARE @maxEmployeeProjectsCount int = 3;
  DECLARE @employeeProjectsCount int;

  BEGIN TRAN
  INSERT INTO EmployeesProjects (EmployeeID, ProjectID) 
  VALUES (@employeeID, @projectID)

  SET @employeeProjectsCount = (
    SELECT COUNT(*)
    FROM EmployeesProjects
    WHERE EmployeeID = @employeeID
  )
  IF(@employeeProjectsCount > @maxEmployeeProjectsCount)
    BEGIN
      RAISERROR('The employee has too many projects!', 16, 1);
      ROLLBACK;
    END
  ELSE COMMIT
END

--testing - do not submit in Judge
EXEC usp_AssignProject 2, 1; -- no projects initially
EXEC usp_AssignProject 2, 2;
EXEC usp_AssignProject 2, 3;
EXEC usp_AssignProject 2, 4; -- raiserror & rollback

 

0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.