Loading...

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

ambiorix avatar ambiorix 640 Точки

Разминаване в информацията за метод в Bashsoft/Storymode + допълнителни разяснения

Здравейте,

Въпросите ми са към хората от Софтуни персонала занимаващи се с курса.

1. В първия документ за Bashsoft/Storymode проекта методът TraverseDirectory() приема за параметър string (пътя към директорията), но в третия документ от проекта той вече приема int depth. Никъде не е описано каква е логиката на метода след промяната, но натам се ползва с int depth така че моля разяснете разминаването.

2. В третия документ, Files and directories, на стр. 7 няма информация за метода GetDirectoryPath(). Аз лично го направих с вградения метод на Directory класа: string path = Directory.GetCurrentDirectory() + "\\" + name;.

Това ОК ли е и ако не, то разяснете за този метод.

3. В третия документ, Files and directories, се казва, че ще се прави нов solution за simple judge система. След това се ползват класове от другия solution BashSoft. Добавих ги в новия solution и ги модифицирах съответно за текущия solution SimpleJudge. Правилно ли съм разбрал, че това се иска?

Тагове:
0
C# Advanced 14/06/2017 00:24:17
bogdanalov avatar bogdanalov 16 Точки

Здравей! 

За първия проблем, по-надолу в самия документ има разяснение къде се използва и защо. То е на колко дълбоко да стига във файловата система, но честно казано при мен не знам дали работи както трябва, защото каквото и стойност да въведа едно и също се принтира. А за втория проблем аз ползвах от Tester класа currentPath и си мислех, че това трябва да се изпозлва. А за третия проблем мисля, че просто са искали да кажат нов проект и не са го поправили... 

0
ambiorix avatar ambiorix 640 Точки

Не виждам никъде по-надолу в документа да пише за промяна на signature на метода.

Предполагам тези документи са сглобени от предишни инстанции на курса, но никой не е отделил един ден да ги тества от начало до край след сглобяването, а пък все пак влизат в крайната оценка. Затова е редно да изяснят разминаванията.

2
a.aleksandrov91 avatar a.aleksandrov91 51 Точки

По т.1 В третият файл е описано, че трябва да махнеш аргумента currentPath и в метода да добавиш SessionData.currentPath

Now that we are done with that and since we now have some space where we can save the current folder, we are going to start our traversal method, using the current folder. All we have to do is remove the string path argument and also change it with Session.currentPath

 т.2 Методъ GetDirectoryPath не съществува. Тук са те оставили сам да си го направиш, но също така няколко стъпки по-нагоре правиш статичната променливата currentPath в класа SessionData. Моят подход е просто метода GetDirectoryPath  връща като стринг SessionData.currentPath

т.3 Аз продължих да си работя в същия Solution. Не знам кое е правилно и кое не е :)

0
ambiorix avatar ambiorix 640 Точки

т. 1 - нямам това предвид. Погледни например третия документ Files and directories, страница 7, Modifying the traversal. Там ще видиш, че методът иска int depth, а не стринг (какъвто и да било).

т. 2 - възможно е нарочно да е оставен, но можеше да бъде упоменато както е казано по нещо и за другите методи.

т. 3 - идеята е някой от Софтуни да каже какъв е техният замисъл за да ни е ясно какво да правим.

0
14/06/2017 01:06:43
DJBuro avatar DJBuro Trainer 105 Точки

Здравей колега, извинявам се за забавянето в отговора. 

1. Във третия файл Problem 4 Modifying the traversal пише следното: "All we have to do is remove the string path argument and also change it with Session.currentPath". По надолу в същия документ е обяснено и защо се добавя int depth, копирам част от изречението: "maybe we should include it as some kind of a condition in our code, so that it would be easier to know when to stop traversing "

2. Относно метода GetCurrentDirectoryPath() се има впредвид да вземеш директорията на проекта. Предния проблем те кара да направиш статично поле в класа SessionDatа. Реално идеята е да се вземе пътя до директорията на проекта, видимо от кога е, че се метода GetCurrentDirectoryPath() е част от класа IOManager. Така, че вариантите ти са два, или да вземеш полето от SessionData, чрез този метод или да го вземеш както си го взел ти директно. 

3. Тук също има проблем с две решения. Едното е да изпълниш точно задачата, както ти си направил, и съответно да модифицираш някой настройки, за да работи проекта. Другия е да се добави клас Tester към конкретния проект и да се ползва така. Отново и двете са адекватни решения. 

Като заключение мога да кажа, че в тази част на BashSoft се изисква от Вас се изисква приложението да работи. Ако нанесете промени, но проекта продължава да работи, значи сте изпълнили задача за максимум точки. В следващия курс вече ще се гледа за структура на проекта. Като отново има неща, които не са обяснени на 100% в проекта. Тези моменти ще стават все повече, защото не ни е целта да ви даваме да преписвате, а да ви накараме да Мислите. Този пост показва, че при теб този подход е бил успешен и ти решил проблемите си. Надявам се и при другите да става така. Искам и да благодаря на отговорите на другите колеги, които също явно са мислили над проекта, а не са преписвали от документите!

0
17/06/2017 11:49:55
ambiorix avatar ambiorix 640 Точки

Още един въпрос: трябва ли да пишем логиката за команди decOrder, download и dowloadAsynch или тя ще е в ООП?

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